本文整理汇总了C++中QStringList::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ QStringList::isEmpty方法的具体用法?C++ QStringList::isEmpty怎么用?C++ QStringList::isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QStringList
的用法示例。
在下文中一共展示了QStringList::isEmpty方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: describeLayer
// DescribeLayer is defined for WMS1.1.1/SLD1.0 and in WMS 1.3.0 SLD Extension
QDomDocument describeLayer( QgsServerInterface *serverIface, const QgsProject *project, const QString &version,
const QgsServerRequest &request )
{
Q_UNUSED( version );
QgsServerRequest::Parameters parameters = request.parameters();
if ( !parameters.contains( QStringLiteral( "SLD_VERSION" ) ) )
{
throw QgsServiceException( QStringLiteral( "MissingParameterValue" ),
QStringLiteral( "SLD_VERSION is mandatory for DescribeLayer operation" ), 400 );
}
if ( parameters[ QStringLiteral( "SLD_VERSION" )] != QLatin1String( "1.1.0" ) )
{
throw QgsServiceException( QStringLiteral( "InvalidParameterValue" ),
QStringLiteral( "SLD_VERSION = %1 is not supported" ).arg( parameters[ QStringLiteral( "SLD_VERSION" )] ), 400 );
}
if ( !parameters.contains( QStringLiteral( "LAYERS" ) ) )
{
throw QgsServiceException( QStringLiteral( "MissingParameterValue" ),
QStringLiteral( "LAYERS is mandatory for DescribeLayer operation" ), 400 );
}
QStringList layersList = parameters[ QStringLiteral( "LAYERS" )].split( ',', QString::SkipEmptyParts );
if ( layersList.isEmpty() )
{
throw QgsServiceException( QStringLiteral( "InvalidParameterValue" ), QStringLiteral( "Layers is empty" ), 400 );
}
QDomDocument myDocument = QDomDocument();
QDomNode header = myDocument.createProcessingInstruction( QStringLiteral( "xml" ), QStringLiteral( "version=\"1.0\" encoding=\"UTF-8\"" ) );
myDocument.appendChild( header );
// Create the root element
QDomElement root = myDocument.createElementNS( QStringLiteral( "http://www.opengis.net/sld" ), QStringLiteral( "DescribeLayerResponse" ) );
root.setAttribute( QStringLiteral( "xsi:schemaLocation" ), QStringLiteral( "http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/DescribeLayer.xsd" ) );
root.setAttribute( QStringLiteral( "xmlns:ows" ), QStringLiteral( "http://www.opengis.net/ows" ) );
root.setAttribute( QStringLiteral( "xmlns:se" ), QStringLiteral( "http://www.opengis.net/se" ) );
root.setAttribute( QStringLiteral( "xmlns:xlink" ), QStringLiteral( "http://www.w3.org/1999/xlink" ) );
root.setAttribute( QStringLiteral( "xmlns:xsi" ), QStringLiteral( "http://www.w3.org/2001/XMLSchema-instance" ) );
myDocument.appendChild( root );
// store the Version element
QDomElement versionNode = myDocument.createElement( QStringLiteral( "Version" ) );
versionNode.appendChild( myDocument.createTextNode( QStringLiteral( "1.1.0" ) ) );
root.appendChild( versionNode );
// get the wms service url defined in project or keep the one from the
// request url
QString wmsHrefString = serviceUrl( request, project ).toString();
// get the wfs service url defined in project or take the same as the
// wms service url
QString wfsHrefString = QgsServerProjectUtils::wfsServiceUrl( *project );
if ( wfsHrefString.isEmpty() )
{
wfsHrefString = wmsHrefString;
}
// get the wcs service url defined in project or take the same as the
// wms service url
QString wcsHrefString = QgsServerProjectUtils::wcsServiceUrl( *project );
if ( wcsHrefString.isEmpty() )
{
wcsHrefString = wmsHrefString;
}
// access control
#ifdef HAVE_SERVER_PYTHON_PLUGINS
QgsAccessControl *accessControl = serverIface->accessControls();
#endif
// Use layer ids
bool useLayerIds = QgsServerProjectUtils::wmsUseLayerIds( *project );
// WMS restricted layers
QStringList restrictedLayers = QgsServerProjectUtils::wmsRestrictedLayers( *project );
// WFS layers
QStringList wfsLayerIds = QgsServerProjectUtils::wfsLayerIds( *project );
// WCS layers
QStringList wcsLayerIds = QgsServerProjectUtils::wcsLayerIds( *project );
for ( QgsMapLayer *layer : project->mapLayers() )
{
QString name = layer->name();
if ( useLayerIds )
name = layer->id();
else if ( !layer->shortName().isEmpty() )
name = layer->shortName();
if ( !layersList.contains( name ) )
{
continue;
}
//unpublished layer
if ( restrictedLayers.contains( layer->name() ) )
{
throw QgsSecurityException( QStringLiteral( "You are not allowed to access to this layer" ) );
}
//.........这里部分代码省略.........
示例2: main
//.........这里部分代码省略.........
if ( ext.toLower() == "png" ) { format = "PNG"; }
else if ( ext.toLower() == "jpg" || ext.toLower() == "jpeg" ) { format = "JPG"; }
else if ( ext.toLower() == "gif" ) { format = "GIF"; }
else if ( ext.toLower() == "pnm" ) { format = "PNM"; }
else if ( ext.toLower() == "bmp" ) { format = "BMP"; }
else { qWarning() << i18n( "Could not parse image format of %1; assuming PNG.", fname ) ; }
//parse width and height
bool ok(false);
int w(0), h(0);
w = parser.value( "width" ).toInt( &ok );
if ( ok ) h = parser.value( "height" ).toInt( &ok );
if ( !ok ) {
qWarning() << "Unable to parse arguments: " ;
qWarning() << "Width: " << parser.value( "width" )
<< " Height: " << parser.value( "height" ) << endl;
return 1;
}
KStarsData *dat = KStarsData::Create();
QObject::connect( dat, SIGNAL( progressText(QString) ), dat, SLOT( slotConsoleMessage(QString) ) );
dat->initialize();
//Set Geographic Location
dat->setLocationFromOptions();
//Set color scheme
dat->colorScheme()->loadFromConfig();
//set clock now that we have a location:
//Check to see if user provided a date/time string. If not, use current CPU time
QString datestring = parser.value( "date" );
KStarsDateTime kdt;
if ( ! datestring.isEmpty() ) {
if ( datestring.contains( "-" ) ) { //assume ISODate format
if ( datestring.contains( ":" ) ) { //also includes time
//kdt = QDateTime::fromString( datestring, QDateTime::ISODate );
kdt = QDateTime::fromString( datestring, Qt::ISODate );
} else { //string probably contains date only
//kdt.setDate( QDate::fromString( datestring, Qt::ISODate ) );
kdt.setDate( QDate::fromString( datestring, Qt::ISODate ) );
kdt.setTime( QTime( 0, 0, 0 ) );
}
} else { //assume Text format for date string
kdt = dat->geo()->LTtoUT( QDateTime::fromString( datestring, Qt::TextDate ) );
}
if ( ! kdt.isValid() ) {
qWarning() << i18n( "Using CPU date/time instead." ) ;
kdt = KStarsDateTime::currentDateTimeUtc();
}
} else {
kdt = KStarsDateTime::currentDateTimeUtc();
}
dat->clock()->setUTC( kdt );
SkyMap *map = SkyMap::Create();
map->resize( w, h );
QPixmap sky( w, h );
dat->setFullTimeUpdate();
dat->updateTime(dat->geo(), map );
SkyPoint dest( Options::focusRA(), Options::focusDec() );
map->setDestination( dest );
示例3: main
int main(int argc, char *argv[])
{
/* Workaround Qt platform integration plugin not advertising itself
as having the following capabilities:
- QPlatformIntegration::ThreadedOpenGL
- QPlatformIntegration::BufferQueueingOpenGL
*/
setenv("QML_FORCE_THREADED_RENDERER", "1", 1);
setenv("QML_FIXED_ANIMATION_STEP", "1", 1);
// ignore favorites in unity-scopes-shell plugin
setenv("UNITY_SCOPES_NO_FAVORITES", "1", 1);
QGuiApplication::setApplicationName("Unity Scope Tool");
QGuiApplication *application;
application = new QGuiApplication(argc, argv);
QCommandLineParser parser;
parser.setApplicationDescription("Unity Scope Tool\n\n"
"This tool allows development and testing of scopes. Running it without\n"
"any arguments will open a session to all scopes available on the system.\n"
"Otherwise passing a path to a scope config file will open a session with\n"
"only that scope (assuming that the binary implementing the scope can be\n"
"found in the same directory as the config file).");
QCommandLineOption helpOption = parser.addHelpOption();
parser.addPositionalArgument("scopes", "Paths to scope config files to spawn, optionally.", "[scopes...]");
QCommandLineOption includeSystemScopes("include-system-scopes",
"Initialize the registry with scopes installed on this system");
QCommandLineOption includeServerScopes("include-server-scopes",
"Initialize the registry with scopes on the default server");
parser.addOption(includeServerScopes);
parser.addOption(includeSystemScopes);
parser.parse(application->arguments());
if (parser.isSet(helpOption)) {
parser.showHelp();
}
QStringList extraScopes = parser.positionalArguments();
QScopedPointer<RegistryTracker> tracker;
if (!extraScopes.isEmpty()) {
bool systemScopes = parser.isSet(includeSystemScopes);
bool serverScopes = parser.isSet(includeServerScopes);
tracker.reset(new RegistryTracker(extraScopes, systemScopes, serverScopes));
}
bindtextdomain("unity8", translationDirectory().toUtf8().data());
textdomain("unity8");
QQuickView* view = new QQuickView();
view->setResizeMode(QQuickView::SizeRootObjectToView);
view->setTitle(QGuiApplication::applicationName());
view->engine()->setBaseUrl(QUrl::fromLocalFile(::qmlDirectory()));
QUrl source(::qmlDirectory() + "/ScopeTool.qml");
prependImportPaths(view->engine(), ::overrideImportPaths());
prependImportPaths(view->engine(), ::nonMirImportPaths());
appendImportPaths(view->engine(), ::fallbackImportPaths());
view->setSource(source);
view->show();
UnixSignalHandler signal_handler([]{
QGuiApplication::exit(0);
});
signal_handler.setupUnixSignalHandlers();
int result = application->exec();
delete view;
delete application;
return result;
}
示例4: respond
void HttpConnection::respond() {
if ((m_socket->peerAddress() != QHostAddress::LocalHost
&& m_socket->peerAddress() != QHostAddress::LocalHostIPv6)
|| m_httpserver->isLocalAuthEnabled()) {
// Authentication
const QString peer_ip = m_socket->peerAddress().toString();
const int nb_fail = m_httpserver->NbFailedAttemptsForIp(peer_ip);
if (nb_fail >= MAX_AUTH_FAILED_ATTEMPTS) {
m_generator.setStatusLine(403, "Forbidden");
m_generator.setMessage(tr("Your IP address has been banned after too many failed authentication attempts."));
write();
return;
}
QString auth = m_parser.header().value("Authorization");
if (auth.isEmpty()) {
// Return unauthorized header
qDebug("Auth is Empty...");
m_generator.setStatusLine(401, "Unauthorized");
m_generator.setValue("WWW-Authenticate", "Digest realm=\""+QString(QBT_REALM)+"\", nonce=\""+m_httpserver->generateNonce()+"\", opaque=\""+m_httpserver->generateNonce()+"\", stale=\"false\", algorithm=\"MD5\", qop=\"auth\"");
write();
return;
}
//qDebug("Auth: %s", qPrintable(auth.split(" ").first()));
if (QString::compare(auth.split(" ").first(), "Digest", Qt::CaseInsensitive) != 0
|| !m_httpserver->isAuthorized(auth.toUtf8(), m_parser.header().method())) {
// Update failed attempt counter
m_httpserver->increaseNbFailedAttemptsForIp(peer_ip);
qDebug("client IP: %s (%d failed attempts)", qPrintable(peer_ip), nb_fail);
// Return unauthorized header
m_generator.setStatusLine(401, "Unauthorized");
m_generator.setValue("WWW-Authenticate", "Digest realm=\""+QString(QBT_REALM)+"\", nonce=\""+m_httpserver->generateNonce()+"\", opaque=\""+m_httpserver->generateNonce()+"\", stale=\"false\", algorithm=\"MD5\", qop=\"auth\"");
write();
return;
}
// Client successfully authenticated, reset number of failed attempts
m_httpserver->resetNbFailedAttemptsForIp(peer_ip);
}
QString url = m_parser.url();
// Favicon
if (url.endsWith("favicon.ico")) {
qDebug("Returning favicon");
QFile favicon(":/Icons/skin/qbittorrent16.png");
if (favicon.open(QIODevice::ReadOnly)) {
const QByteArray data = favicon.readAll();
favicon.close();
m_generator.setStatusLine(200, "OK");
m_generator.setContentTypeByExt("png");
m_generator.setMessage(data);
write();
} else {
respondNotFound();
}
return;
}
QStringList list = url.split('/', QString::SkipEmptyParts);
if (list.contains(".") || list.contains("..")) {
respondNotFound();
return;
}
if (list.isEmpty())
list.append("index.html");
if (list.size() >= 2) {
if (list[0] == "json") {
if (list[1] == "torrents") {
respondTorrentsJson();
return;
}
if (list.size() > 2) {
if (list[1] == "propertiesGeneral") {
const QString& hash = list[2];
respondGenPropertiesJson(hash);
return;
}
if (list[1] == "propertiesTrackers") {
const QString& hash = list[2];
respondTrackersPropertiesJson(hash);
return;
}
if (list[1] == "propertiesFiles") {
const QString& hash = list[2];
respondFilesPropertiesJson(hash);
return;
}
} else {
if (list[1] == "preferences") {
respondPreferencesJson();
return;
} else {
if (list[1] == "transferInfo") {
respondGlobalTransferInfoJson();
return;
}
}
}
}
if (list[0] == "command") {
const QString& command = list[1];
//.........这里部分代码省略.........
示例5: saveFile
void JoCASSViewer::saveFile(QString filename, QStringList keys) const
{
if (_viewers.isEmpty())
return;
/** if not filename was given ask for one */
if (filename.isEmpty())
{
QString filter("Data Files (*.png *.csv *.hst *.h5 *.hdf5 *.cbf)");
filename = QFileDialog::getSaveFileName(0, tr("Save Data to File"),
QDir::currentPath(), filter);
if(filename.isEmpty())
return;
}
/** if no keys are given, request at least one using the iteminput dialog
* The preselected item in the dialog should be the currently highlighted
* window or, in case of a container file, "all"
*/
if (keys.isEmpty())
{
QStringList items(displayedItems());
items.prepend("**ALL**");
QWidget *focusWiget(QApplication::focusWidget());
int preselectItemId(items.indexOf("**ALL**"));
if (!FileHandler::isContainerFile(filename) && (focusWiget))
preselectItemId = items.indexOf(focusWiget->windowTitle());
bool ok(false);
QString item(QInputDialog::getItem(0, QObject::tr("Select Key"),
QObject::tr("Key:"), items,
preselectItemId, false, &ok));
if (!ok || item.isEmpty())
return;
if (item.contains("***ALL***"))
keys = displayedItems();
else
keys.append(item);
}
/** if the file is a container file, create the container first before adding
* data to it.
*/
if (FileHandler::isContainerFile(filename))
FileHandler::createContainer(filename);
/** go through the list and tell the viewer to save the data
* Append the name of the viewer to the filaname in case this is not a
* container file and more that one file should be saved with data so that
* the files are not overwritten.
*/
QStringList::const_iterator cIt;
for (cIt = keys.constBegin(); cIt != keys.constEnd(); ++cIt)
{
if (_viewers.value(*cIt))
{
QString fname(filename);
if(!FileHandler::isContainerFile(filename) && keys.size() > 1)
fname.insert(fname.lastIndexOf("."),"_" + *cIt);
_viewers.value(*cIt)->saveData(fname);
}
}
}
示例6: searchActivated
void GrepViewWidget::searchActivated()
{
if ( grepdlg->keepOutputFlag() )
slotKeepOutput();
m_tabWidget->showPage( m_curOutput );
m_curOutput->setLastFileName("");
m_curOutput->setMatchCount( 0 );
QString command, files;
// waba: code below breaks on filenames containing a ',' !!!
QStringList filelist = QStringList::split(",", grepdlg->filesString());
if (grepdlg->useProjectFilesFlag())
{
KDevProject *openProject = m_part->project();
if (openProject)
{
QString tmpFilePath;
QStringList projectFiles = openProject->allFiles();
if (!projectFiles.isEmpty())
{
tmpFilePath = openProject->projectDirectory() + QChar(QDir::separator()) + ".grep.tmp";
QString dir = grepdlg->directoryString(), file;
QValueList<QRegExp> regExpList;
if (dir.endsWith(QChar(QDir::separator())))
dir.truncate(dir.length() - 1);
if (!filelist.isEmpty())
{
for (QStringList::Iterator it = filelist.begin(); it != filelist.end(); ++it)
regExpList.append(QRegExp(*it, true, true));
}
m_tempFile.setName(tmpFilePath);
if (m_tempFile.open(IO_WriteOnly))
{
QTextStream out(&m_tempFile);
for (QStringList::Iterator it = projectFiles.begin(); it != projectFiles.end(); ++it)
{
file = QDir::cleanDirPath(openProject->projectDirectory() + QChar(QDir::separator()) + *it);
QFileInfo info(file);
if (grepdlg->recursiveFlag() && !info.dirPath(true).startsWith(dir)) continue;
if (!grepdlg->recursiveFlag() && info.dirPath(true) != dir) continue;
bool matchOne = regExpList.count() == 0;
for (QValueList<QRegExp>::Iterator it2 = regExpList.begin(); it2 != regExpList.end() && !matchOne; ++it2)
matchOne = (*it2).exactMatch(file);
if (matchOne)
out << KShellProcess::quote(file) + "\n";
}
m_tempFile.close();
}
else
{
KMessageBox::error(this, i18n("Unable to create a temporary file for search."));
return;
}
}
command = "cat ";
command += tmpFilePath.replace(' ', "\\ ");
}
}
else
{
if (!filelist.isEmpty())
{
QStringList::Iterator it(filelist.begin());
files = KShellProcess::quote(*it);
++it;
for (; it != filelist.end(); ++it)
files += " -o -name " + KShellProcess::quote(*it);
}
QString filepattern = "find ";
filepattern += KShellProcess::quote(grepdlg->directoryString());
if (!grepdlg->recursiveFlag())
filepattern += " -maxdepth 1";
filepattern += " \\( -name ";
filepattern += files;
filepattern += " \\) -print -follow";
if (grepdlg->noFindErrorsFlag())
filepattern += " 2>/dev/null";
command = filepattern + " " ;
}
QStringList excludelist = QStringList::split(",", grepdlg->excludeString());
if (!excludelist.isEmpty())
{
QStringList::Iterator it(excludelist.begin());
command += "| grep -v ";
for (; it != excludelist.end(); ++it)
//.........这里部分代码省略.........
示例7: main
//.........这里部分代码省略.........
from_file = true;
}
if (cmdline.toBool("ddfile"))
{
// datadirect file mode
if (!cmdline.toBool("sourceid") ||
!cmdline.toBool("offset") ||
!cmdline.toBool("lineupid") ||
!cmdline.toBool("xmlfile"))
{
cerr << "The --dd-file option must be used in combination" << endl
<< "with each of --sourceid, --offset, --lineupid," << endl
<< "and --xmlfile." << endl;
return GENERIC_EXIT_INVALID_CMDLINE;
}
fromfile_id = cmdline.toInt("sourceid");
fromfile_offset = cmdline.toInt("offset");
fromddfile_lineupid = cmdline.toString("lineupid");
fromfile_name = cmdline.toString("xmlfile");
LOG(VB_GENERAL, LOG_INFO,
"Bypassing grabbers, reading directly from file");
from_dd_file = true;
}
if (cmdline.toBool("dochannelupdates"))
fill_data.chan_data.m_channelUpdates = true;
if (cmdline.toBool("removechannels"))
fill_data.chan_data.m_removeNewChannels = true;
if (cmdline.toBool("nofilterchannels"))
fill_data.chan_data.m_filterNewChannels = false;
if (!cmdline.GetPassthrough().isEmpty())
fill_data.graboptions = " " + cmdline.GetPassthrough();
if (cmdline.toBool("sourceid"))
sourceid = cmdline.toInt("sourceid");
if (cmdline.toBool("cardtype"))
{
if (!cmdline.toBool("sourceid"))
{
cerr << "The --cardtype option must be used in combination" << endl
<< "with a --sourceid option." << endl;
return GENERIC_EXIT_INVALID_CMDLINE;
}
fill_data.chan_data.m_cardType = cmdline.toString("cardtype")
.trimmed().toUpper();
}
if (cmdline.toBool("maxdays") && cmdline.toInt("maxdays") > 0)
{
fill_data.maxDays = cmdline.toInt("maxdays");
if (fill_data.maxDays == 1)
fill_data.SetRefresh(0, true);
}
if (cmdline.toBool("refreshtoday"))
cmdline.SetValue("refresh",
cmdline.toStringList("refresh") << "today");
if (cmdline.toBool("dontrefreshtomorrow"))
cmdline.SetValue("refresh",
cmdline.toStringList("refresh") << "nottomorrow");
if (cmdline.toBool("refreshsecond"))
cmdline.SetValue("refresh",
cmdline.toStringList("refresh") << "second");
if (cmdline.toBool("refreshall"))
示例8: createProject
QString AppWizardPlugin::createProject(const ApplicationInfo& info)
{
QFileInfo templateInfo(info.appTemplate);
if (!templateInfo.exists()) {
qWarning() << "Project app template does not exist:" << info.appTemplate;
return QString();
}
QString templateName = templateInfo.baseName();
QString templateArchive;
const QStringList filters = {templateName + QStringLiteral(".*")};
const QStringList matchesPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kdevappwizard/templates/"), QStandardPaths::LocateDirectory);
foreach(const QString& matchesPath, matchesPaths) {
const QStringList files = QDir(matchesPath).entryList(filters);
if(!files.isEmpty()) {
templateArchive = matchesPath + files.first();
}
}
if(templateArchive.isEmpty()) {
qWarning() << "Template name does not exist in the template list";
return QString();
}
QUrl dest = info.location;
//prepare variable substitution hash
m_variables.clear();
m_variables[QStringLiteral("APPNAME")] = info.name;
m_variables[QStringLiteral("APPNAMEUC")] = info.name.toUpper();
m_variables[QStringLiteral("APPNAMELC")] = info.name.toLower();
m_variables[QStringLiteral("APPNAMEID")] = generateIdentifier(info.name);
m_variables[QStringLiteral("PROJECTDIR")] = dest.toLocalFile();
// backwards compatibility
m_variables[QStringLiteral("dest")] = m_variables[QStringLiteral("PROJECTDIR")];
m_variables[QStringLiteral("PROJECTDIRNAME")] = dest.fileName();
m_variables[QStringLiteral("VERSIONCONTROLPLUGIN")] = info.vcsPluginName;
KArchive* arch = nullptr;
if( templateArchive.endsWith(QLatin1String(".zip")) )
{
arch = new KZip(templateArchive);
}
else
{
arch = new KTar(templateArchive, QStringLiteral("application/x-bzip"));
}
if (arch->open(QIODevice::ReadOnly))
{
QTemporaryDir tmpdir;
QString unpackDir = tmpdir.path(); //the default value for all Centralized VCS
IPlugin* plugin = core()->pluginController()->loadPlugin( info.vcsPluginName );
if( info.vcsPluginName.isEmpty() || ( plugin && plugin->extension<KDevelop::IDistributedVersionControl>() ) )
{
if( !QFileInfo::exists( dest.toLocalFile() ) )
{
QDir::root().mkpath( dest.toLocalFile() );
}
unpackDir = dest.toLocalFile(); //in DVCS we unpack template directly to the project's directory
}
else
{
QUrl url = KIO::upUrl(dest);
if(!QFileInfo::exists(url.toLocalFile())) {
QDir::root().mkpath(url.toLocalFile());
}
}
if ( !unpackArchive( arch->directory(), unpackDir ) )
{
QString errorMsg = i18n("Could not create new project");
vcsError(errorMsg, tmpdir, QUrl::fromLocalFile(unpackDir));
return QString();
}
if( !info.vcsPluginName.isEmpty() )
{
if (!plugin)
{
// Red Alert, serious program corruption.
// This should never happen, the vcs dialog presented a list of vcs
// systems and now the chosen system doesn't exist anymore??
tmpdir.remove();
return QString();
}
IDistributedVersionControl* dvcs = toDVCS(plugin);
ICentralizedVersionControl* cvcs = toCVCS(plugin);
bool success = false;
if (dvcs)
{
success = initializeDVCS(dvcs, info, tmpdir);
}
else if (cvcs)
{
success = initializeCVCS(cvcs, info, tmpdir);
}
else
{
if (KMessageBox::Continue ==
//.........这里部分代码省略.........
示例9: fi
void
NmakeMakefileGenerator::writeNmakeParts(QTextStream &t)
{
t << "####### Compiler, tools and options" << endl << endl;
t << "CC = " << var("QMAKE_CC") << endl;
t << "CXX = " << var("QMAKE_CXX") << endl;
t << "LEX = " << var("QMAKE_LEX") << endl;
t << "YACC = " << var("QMAKE_YACC") << endl;
t << "CFLAGS = " << var("QMAKE_CFLAGS") << " "
<< varGlue("PRL_EXPORT_DEFINES","-D"," -D","") << " "
<< varGlue("DEFINES","-D"," -D","") << endl;
t << "CXXFLAGS = " << var("QMAKE_CXXFLAGS") << " "
<< varGlue("PRL_EXPORT_DEFINES","-D"," -D","") << " "
<< varGlue("DEFINES","-D"," -D","") << endl;
t << "LEXFLAGS =" << var("QMAKE_LEXFLAGS") << endl;
t << "YACCFLAGS =" << var("QMAKE_YACCFLAGS") << endl;
t << "INCPATH = ";
QStringList &incs = project->variables()["INCLUDEPATH"];
for(QStringList::Iterator incit = incs.begin(); incit != incs.end(); ++incit) {
QString inc = (*incit);
if (inc.endsWith("\\"))
inc.truncate(inc.length()-1);
if (inc.startsWith("\"") && inc.endsWith("\""))
inc = inc.mid(1, inc.length() - 2);
t << " -I\"" << inc << "\"";
}
t << " -I\"" << specdir() << "\""
<< endl;
if(!project->variables()["QMAKE_APP_OR_DLL"].isEmpty()) {
t << "LINK = " << var("QMAKE_LINK") << endl;
t << "LFLAGS = " << var("QMAKE_LFLAGS");
if ( !project->variables()["QMAKE_LIBDIR"].isEmpty() )
t << " " << varGlue("QMAKE_LIBDIR","/LIBPATH:\"","\" /LIBPATH:\"","\"");
t << endl;
t << "LIBS = ";
QStringList &libs = project->variables()["QMAKE_LIBS"];
for(QStringList::Iterator libit = libs.begin(); libit != libs.end(); ++libit) {
QString lib = (*libit);
if (lib.endsWith("\\"))
lib.truncate(lib.length()-1);
t << " \"" << lib << "\"";
}
t << endl;
}
else {
t << "LIB = " << var("QMAKE_LIB") << endl;
}
t << "MOC = " << (project->isEmpty("QMAKE_MOC") ? QString("moc") :
Option::fixPathToTargetOS(var("QMAKE_MOC"), FALSE)) << endl;
t << "UIC = " << (project->isEmpty("QMAKE_UIC") ? QString("uic") :
Option::fixPathToTargetOS(var("QMAKE_UIC"), FALSE)) << endl;
t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") :
Option::fixPathToTargetOS(var("QMAKE_QMAKE"), FALSE)) << endl;
t << "IDC = " << (project->isEmpty("QMAKE_IDC") ? QString("idc") :
Option::fixPathToTargetOS(var("QMAKE_IDC"), FALSE)) << endl;
t << "IDL = " << (project->isEmpty("QMAKE_IDL") ? QString("midl") :
Option::fixPathToTargetOS(var("QMAKE_IDL"), FALSE)) << endl;
t << "ZIP = " << var("QMAKE_ZIP") << endl;
t << "COPY_FILE = " << var("QMAKE_COPY") << endl;
t << "COPY_DIR = " << var("QMAKE_COPY") << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
t << "MOVE = " << var("QMAKE_MOVE") << endl;
t << "CHK_DIR_EXISTS = " << var("QMAKE_CHK_DIR_EXISTS") << endl;
t << "MKDIR = " << var("QMAKE_MKDIR") << endl;
t << "INSTALL_FILE= " << var("QMAKE_INSTALL_FILE") << endl;
t << "INSTALL_DIR = " << var("QMAKE_INSTALL_DIR") << endl;
t << endl;
t << "####### Files" << endl << endl;
t << "HEADERS = " << varList("HEADERS") << endl;
t << "SOURCES = " << varList("SOURCES") << endl;
t << "OBJECTS = " << varList("OBJECTS") << endl;
t << "FORMS = " << varList("FORMS") << endl;
t << "UICDECLS = " << varList("UICDECLS") << endl;
t << "UICIMPLS = " << varList("UICIMPLS") << endl;
t << "SRCMOC = " << varList("SRCMOC") << endl;
t << "OBJMOC = " << varList("OBJMOC") << endl;
QString extraCompilerDeps;
if(!project->isEmpty("QMAKE_EXTRA_WIN_COMPILERS")) {
t << "OBJCOMP = " << varList("OBJCOMP") << endl;
extraCompilerDeps += " $(OBJCOMP) ";
QStringList &comps = project->variables()["QMAKE_EXTRA_WIN_COMPILERS"];
for(QStringList::Iterator compit = comps.begin(); compit != comps.end(); ++compit) {
QStringList &vars = project->variables()[(*compit) + ".variables"];
for(QStringList::Iterator varit = vars.begin(); varit != vars.end(); ++varit) {
QStringList vals = project->variables()[(*varit)];
if(!vals.isEmpty())
t << "QMAKE_COMP_" << (*varit) << " = " << valList(vals) << endl;
}
}
}
t << "DIST = " << varList("DISTFILES") << endl;
t << "TARGET = ";
if( !project->variables()[ "DESTDIR" ].isEmpty() )
t << varGlue("TARGET",project->first("DESTDIR"),"",project->first("TARGET_EXT"));
//.........这里部分代码省略.........
示例10: set
int characteristicAssignment::set(const ParameterList &pParams)
{
QVariant param;
bool valid;
/* derive the targetType from the source table and pParams,
skipping params we know don't describe targets.
*/
QStringList passedIn;
foreach (Parameter p, pParams)
{
if (p.name() != "charass_id" && p.name() != "char_id" &&
p.name() != "mode" && p.name() != "showPrices")
{
passedIn << p.name();
}
}
if (! passedIn.isEmpty())
{
ParameterList srcp;
srcp.append("paramName", passedIn);
MetaSQLQuery srcm("SELECT source.* FROM source WHERE source_key_param IN ("
"<? foreach('paramName') ?>"
" <? if not isfirst('paramName') ?>, <? endif ?>"
" <? value('paramName') ?>"
"<? endforeach ?>);");
XSqlQuery srcq = srcm.toQuery(srcp);
if (srcq.first())
{
QString paramName = srcq.value("source_key_param").toString();
param = pParams.value(paramName, &valid);
if (valid)
{
_targetId = param.toInt();
_d->targetType = srcq.value("source_charass").toString();
_d->handleTargetType();
}
}
else if (ErrorReporter::error(QtCriticalMsg, this,
tr("Error Finding Characteristic Information"),
srcq, __FILE__, __LINE__))
{
return Error_NoSetup;
}
}
param = pParams.value("charass_id", &valid);
if (valid)
{
_charassid = param.toInt();
populate();
}
param = pParams.value("mode", &valid);
if (valid)
{
if (param.toString() == "new")
{
_mode = cNew;
}
else if (param.toString() == "edit")
{
_mode = cEdit;
}
else if (param.toString() == "view")
{
_mode = cView;
_char->setEnabled(false);
_value->setEnabled(false);
_buttonBox->setStandardButtons(QDialogButtonBox::Close);
}
}
param = pParams.value("showPrices", &valid);
if (valid)
{
_listpriceLit->show();
_listprice->show();
}
param = pParams.value("char_id", &valid);
if (valid)
{
for (int i = 0; i < _char->model()->rowCount(); i++)
{
QModelIndex idx = _char->model()->index(i, _d->idCol);
if (_char->model()->data(idx) == param)
_char->setCurrentIndex(i);
}
}
return NoError;
}
示例11: slotAddToProject
// --------------------------------------------------------------
void QucsApp::slotAddToProject()
{
editText->setHidden(true); // disable text edit of component property
if(ProjName.isEmpty()) {
QMessageBox::critical(this, tr("Error"), tr("No project open!"));
return;
}
QStringList List = QFileDialog::getOpenFileNames(this, tr("Select files to copy"),
lastDir.isEmpty() ? QString(".") : lastDir, QucsFileFilter);
if(List.isEmpty()) {
statusBar()->message(tr("No files copied."), 2000);
return;
}
char *Buffer = (char*)malloc(0x10000);
if(!Buffer) return; // should never happen
QStringList FileList = List; // make a copy as recommended by Qt
QStringList::Iterator it = FileList.begin();
QFileInfo Info(*it);
lastDir = Info.dirPath(true); // remember last directory
// copy all files to project directory
int Num;
QFile origFile, destFile;
while(it != FileList.end()) {
Info.setFile(*it);
origFile.setName(*it);
destFile.setName(QucsSettings.QucsWorkDir.absPath() +
QDir::separator() + Info.fileName());
if(!origFile.open(QIODevice::ReadOnly)) {
QMessageBox::critical(this, tr("Error"), tr("Cannot open \"%1\" !").arg(*it));
it++;
continue;
}
if(destFile.exists())
if(QMessageBox::information(this, tr("Overwrite"),
tr("File \"%1\" already exists.\nOverwrite ?").arg(*it), QMessageBox::Yes,
QMessageBox::No|QMessageBox::Default|QMessageBox::Escape)
!= QMessageBox::Yes) {
origFile.close();
it++;
continue;
}
if(!destFile.open(QIODevice::WriteOnly)) {
QMessageBox::critical(this, tr("Error"), tr("Cannot create \"%1\" !").arg(*it));
origFile.close();
it++;
continue;
}
// copy data
do {
Num = origFile.readBlock(Buffer, 0x10000);
if(Num < 0) {
QMessageBox::critical(this, tr("Error"), tr("Cannot read \"%1\" !").arg(*it));
break;
}
Num = destFile.writeBlock(Buffer, Num);
if(Num < 0) {
QMessageBox::critical(this, tr("Error"), tr("Cannot write \"%1\" !").arg(*it));
break;
}
} while(Num == 0x10000);
origFile.close();
destFile.close();
it++;
}
free(Buffer);
readProjectFiles(); // re-read the content ListView
statusBar()->message(tr("Ready."));
}
示例12: matchesFilters
bool QDirIteratorPrivate::matchesFilters(const QString &fileName, const QFileInfo &fi) const
{
Q_ASSERT(!fileName.isEmpty());
// filter . and ..?
const int fileNameSize = fileName.size();
const bool dotOrDotDot = fileName[0] == QLatin1Char('.')
&& ((fileNameSize == 1)
||(fileNameSize == 2 && fileName[1] == QLatin1Char('.')));
if ((filters & QDir::NoDot) && dotOrDotDot && fileNameSize == 1)
return false;
if ((filters & QDir::NoDotDot) && dotOrDotDot && fileNameSize == 2)
return false;
if ((filters & QDir::NoDotAndDotDot) && dotOrDotDot) // ### Qt5 remove (NoDotAndDotDot == NoDot|NoDotDot)
return false;
// name filter
#ifndef QT_NO_REGEXP
// Pass all entries through name filters, except dirs if the AllDirs
if (!nameFilters.isEmpty() && !((filters & QDir::AllDirs) && fi.isDir())) {
bool matched = false;
for (QVector<QRegExp>::const_iterator iter = nameRegExps.constBegin(),
end = nameRegExps.constEnd();
iter != end; ++iter) {
if (iter->exactMatch(fileName)) {
matched = true;
break;
}
}
if (!matched)
return false;
}
#endif
// skip symlinks
const bool skipSymlinks = (filters & QDir::NoSymLinks);
const bool includeSystem = (filters & QDir::System);
if(skipSymlinks && fi.isSymLink()) {
// The only reason to save this file is if it is a broken link and we are requesting system files.
if(!includeSystem || fi.exists())
return false;
}
// filter hidden
const bool includeHidden = (filters & QDir::Hidden);
if (!includeHidden && !dotOrDotDot && fi.isHidden())
return false;
// filter system files
if (!includeSystem && (!(fi.isFile() || fi.isDir() || fi.isSymLink())
|| (!fi.exists() && fi.isSymLink())))
return false;
// skip directories
const bool skipDirs = !(filters & (QDir::Dirs | QDir::AllDirs));
if (skipDirs && fi.isDir())
return false;
// skip files
const bool skipFiles = !(filters & QDir::Files);
if (skipFiles && fi.isFile())
// Basically we need a reason not to exclude this file otherwise we just eliminate it.
return false;
// filter permissions
const bool filterPermissions = ((filters & QDir::PermissionMask)
&& (filters & QDir::PermissionMask) != QDir::PermissionMask);
const bool doWritable = !filterPermissions || (filters & QDir::Writable);
const bool doExecutable = !filterPermissions || (filters & QDir::Executable);
const bool doReadable = !filterPermissions || (filters & QDir::Readable);
if (filterPermissions
&& ((doReadable && !fi.isReadable())
|| (doWritable && !fi.isWritable())
|| (doExecutable && !fi.isExecutable()))) {
return false;
}
return true;
}
示例13: incomingStanza
bool AutoReply::incomingStanza(int account, const QDomElement& stanza) {
if (enabled) {
if (stanza.tagName() == "message") {
QString Status = AccInfoHost->getStatus(account);
bool state = false;
if(Status == "online" && SOnline) { state = true;
} else {
if(Status == "away" && SAway) { state = true;
} else {
if(Status == "chat" && SChat) { state = true;
} else {
if(Status == "xa" && SXa) { state = true;
} else {
if(Status == "dnd" && SDnd) { state = true;
} else {
if(Status == "invisible" && SInvis) { state = true;
}
}
}
}
}
}
if(!state) return false;
QStringList Disable = DisableForAcc.split(QRegExp("\\s+"), QString::SkipEmptyParts);
QString AccJid = AccInfoHost->getJid(account);
while(!Disable.isEmpty()) {
if(AccJid == Disable.takeFirst()) return false;
}
QString type = "";
type = stanza.attribute("type");
if(type == "groupchat" || type == "error" || type == "normal") return false;
QDomElement Body = stanza.firstChildElement("body");
if(Body.isNull()) return false;
if(Body.text() == Message) return false;
QDomElement rec = stanza.firstChildElement("received");
if(!rec.isNull()) return false;
QDomElement subj = stanza.firstChildElement("subject");
if (subj.text() == "AutoReply" || subj.text() == "StopSpam" || subj.text() == "StopSpam Question") return false;
QString from = stanza.attribute("from");
QString to = stanza.attribute("to");
QString valF = from.split("/").takeFirst();
QString valT = to.split("/").takeFirst();
if(valF.toLower() == valT.toLower()) return false;
if(!from.contains("@")) return false;
Disable = DisableFor.split(QRegExp("\\s+"), QString::SkipEmptyParts);
if(EnableDisable) {
while(!Disable.isEmpty()) {
QString J = Disable.takeFirst();
if(J.toLower() == valF.toLower() || from.contains(J, Qt::CaseInsensitive)) {
return false;
}
}
}
else {
bool b = false;
while(!Disable.isEmpty()) {
QString J = Disable.takeFirst();
if(J.toLower() == valF.toLower() || from.contains(J, Qt::CaseInsensitive)) {
b = true;
}
}
if(!b) { return false;
}
}
if(ActiveTabIsEnable) {
QString getJid = ActiveTabHost->getJid();
if(getJid.toLower() == from.toLower()) return false;
}
if(NotInRoster) {
QStringList Roster = AccInfoHost->getRoster(account);
if(!Roster.contains(valF, Qt::CaseInsensitive)) return false;
}
if(Times == 0) return false;
if(Times != -1) {
int i = Counter.size();
if(FindAcc(account, from, i)) {
Base &B = Counter[i];
if(B.count >= Times) {
if(QDateTime::currentDateTime().secsTo(B.LastMes) >= -ResetTime*60) {
return false;
}
else {
B.count = 1;
B.LastMes = QDateTime::currentDateTime();
}
}
else {
B.count++;
//.........这里部分代码省略.........
示例14: splitString
bool SvgFileSplitter::splitString(QString & contents, const QString & elementID)
{
m_byteArray.clear();
// gets rid of some crap inserted by illustrator which can screw up polygons and paths
contents.replace('\t', ' ');
contents.replace('\n', ' ');
contents.replace('\r', ' ');
// get rid of inkscape stuff too
TextUtils::cleanSodipodi(contents);
QString errorStr;
int errorLine;
int errorColumn;
if (!m_domDocument.setContent(contents, true, &errorStr, &errorLine, &errorColumn)) {
//DebugDialog::debug(QString("parse error: %1 l:%2 c:%3\n\n%4").arg(errorStr).arg(errorLine).arg(errorColumn).arg(contents));
return false;
}
QDomElement root = m_domDocument.documentElement();
if (root.isNull()) {
return false;
}
if (root.tagName() != "svg") {
return false;
}
root.removeAttribute("space");
QDomElement element = TextUtils::findElementWithAttribute(root, "id", elementID);
if (element.isNull()) {
return false;
}
QStringList superTransforms;
QDomNode parent = element.parentNode();
while (!parent.isNull()) {
QDomElement e = parent.toElement();
if (!e.isNull()) {
QString transform = e.attribute("transform");
if (!transform.isEmpty()) {
superTransforms.append(transform);
}
}
parent = parent.parentNode();
}
if (!superTransforms.isEmpty()) {
element.removeAttribute("id");
}
QDomDocument document;
QDomNode node = document.importNode(element, true);
document.appendChild(node);
QString elementText = document.toString();
if (!superTransforms.isEmpty()) {
for (int i = 0; i < superTransforms.count() - 1; i++) {
elementText = QString("<g transform='%1'>%2</g>").arg(superTransforms[i]).arg(elementText);
}
elementText = QString("<g id='%1' transform='%2'>%3</g>")
.arg(elementID)
.arg(superTransforms[superTransforms.count() - 1])
.arg(elementText);
}
while (!root.firstChild().isNull()) {
root.removeChild(root.firstChild());
}
// at this point the document should contain only the <svg> element and possibly svg info strings
QString svgOnly = m_domDocument.toString();
int ix = svgOnly.lastIndexOf("/>");
if (ix < 0) return false;
svgOnly[ix] = ' ';
svgOnly += elementText;
svgOnly += "</svg>";
if (!m_domDocument.setContent(svgOnly, true, &errorStr, &errorLine, &errorColumn)) {
return false;
}
m_byteArray = m_domDocument.toByteArray();
//QString s = m_domDocument.toString();
//DebugDialog::debug(s);
return true;
}
示例15: initSlot
void StatisticEmailSender::initSlot() const
{
bool res = true;
DBConn* conn = DBService::getInstance()->getConnection();
if (!conn->isConnected())
{
qCritical() << Q_FUNC_INFO << "Нет соединения с БД";
res = false;
}
QStringList message;
if (res == true)
{
QString sql = "SELECT relname,n_live_tup"
" FROM pg_stat_user_tables"
" ORDER BY n_live_tup DESC";
conn->beginTransaction();
bool check = checkSend(conn);
if (check == true)
{
QSqlQuery q = conn->executeQuery(sql);
if (!q.isActive())
{
res = false;
qCritical() << Q_FUNC_INFO << "Ошибка выполнения запроса статистики";
}
else
{
bool first = true;
while (q.next())
{
if (first == true)
{
message.append("Статистика по записям в таблицах: ");
first = false;
}
message.append(q.value(0).toString() + ": " + q.value(1).toString());
}
}
res = updateHistory(conn);
}
conn->commit();
}
if ( (res == true) && !message.isEmpty())
{
res = send(message.join("\n"));
}
if (res == false)
{
QTimer::singleShot(30 * 60 * 1000,
const_cast<StatisticEmailSender*>(this), SLOT(initSlot()));
}
}