本文整理汇总了C++中QString::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ QString::clear方法的具体用法?C++ QString::clear怎么用?C++ QString::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QString
的用法示例。
在下文中一共展示了QString::clear方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: open
bool ProjectFile::open(const QString &fileName)
{
QFile file(fileName);
file.open(QIODevice::ReadWrite | QIODevice::Text);
if (!file.isOpen())
return false;
QStringList list;
QString line;
bool bnext = false;
while (!file.atEnd()) {
QByteArray ar = file.readLine().trimmed();
if (!ar.isEmpty() && ar.right(1) == "\\") {
bnext = true;
ar[ar.length()-1] = ' ';
} else {
bnext = false;
}
line.push_back(ar);
if (!bnext && !line.isEmpty()) {
list.push_back(line);
line.clear();
}
}
file.close();
if (!line.isEmpty()) {
list.push_back(line);
}
_filePath = fileName;
_isMakefile = QFileInfo(fileName).suffix().toLower() != "pro";
context.clear();
foreach (QString line, list) {
if (line.size() >= 1 && line.at(0) == '#')
continue;
QStringList v = line.split(QRegExp("\\+="),QString::SkipEmptyParts);
if (v.count() == 1) {
v = line.split(QRegExp("="),QString::SkipEmptyParts);
if (v.count() == 2) {
QStringList v2 = v.at(1).split(" ",QString::SkipEmptyParts);
if (!v2.isEmpty()) {
context[v.at(0).trimmed()] = v2;
}
}
} else if (v.count() == 2) {
QStringList v2 = v.at(1).split(" ",QString::SkipEmptyParts);
if (!v2.isEmpty())
context[v.at(0).trimmed()].append(v2);
}
}
return !context.isEmpty();
/*
QString all = file.readAll();
all.replace(QRegExp("\\\\[\\s]*[\n\r]+[\\s]*")," ");
QStringList list = all.split(QRegExp("[\r\n]"),QString::SkipEmptyParts);
context.clear();
foreach(QString line, list) {
line.replace("\t"," ");
QStringList v = line.split(QRegExp("\\+="),QString::SkipEmptyParts);
if (v.count() == 1) {
v = line.split(QRegExp("="),QString::SkipEmptyParts);
if (v.count() == 2) {
QStringList v2 = v.at(1).split(" ",QString::SkipEmptyParts);
if (!v2.isEmpty()) {
context[v.at(0).trimmed()] = v2;
}
}
} else if (v.count() == 2) {
QStringList v2 = v.at(1).split(" ",QString::SkipEmptyParts);
if (!v2.isEmpty())
context[v.at(0).trimmed()].append(v2);
}
}
file.close();
_filePath = fileName;
return !context.isEmpty();
*/
}
示例2: loadKeyBoard
void Window::loadKeyBoard(){
QString str1;
QString str2;
QString temp1;
QString filename;
keyboardmap.clear();
//file handling code
if(selected_keyboard == 1){
filename = "keyboards/Tamil-tamil99.txt.in";
}
else if(selected_keyboard == 2){
filename = "keyboards/Tamil-phonetic.txt.in";
}
else if(selected_keyboard == 3){
filename = "keyboards/Tamil-typewriter.txt.in";
}
else if(selected_keyboard == 4){
filename = "keyboards/Tamil-bamini.txt.in";
}
else if(selected_keyboard == 5){
filename = "keyboards/Tamil-inscript.txt.in";
}
QFile file(filename);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
in.setAutoDetectUnicode(true);
bool line_start = FALSE;
bool line_end = FALSE;
QString line;
//Read the file line by line & insert into keyboardmap arrays
while (!in.atEnd()) {
line = in.readLine();
str1.clear();
str2.clear();
//process_line(line);
if (line == "BEGIN_TABLE"){
line_start = true;
line_end = false;
}
if (line == "END_TABLE"){
line_end = true;
}
//if the line is between begin_table & end_table and not a comment, then process that line
if ((line_start) && !(line_end) && (line.left(3) != "###")){
QRegExp sep("\\s+");
str1 = line.section(sep, 0, 0); // first part
str2 = line.section(sep, 1, 1) ; // second part
keyboardmap.insert(str1, str2);
}
line.clear();
}
}
示例3: highlightBlock
//.........这里部分代码省略.........
for (int j = 0; j < i; ++j) {
if (format(j) == emptyFormat)
setFormat(j, 1, m_labelFormat);
}
}
break;
}
default: {
if (!questionMark && c == QLatin1Char('?'))
questionMark = true;
if (c.isLetter() || c == QLatin1Char('_'))
input = InputAlpha;
else
input = InputSep;
} break;
}
}
lastWasBackSlash = !lastWasBackSlash && c == QLatin1Char('\\');
if (input == InputAlpha)
buffer += c;
state = table[state][input];
switch (state) {
case StateStandard: {
setFormat(i, 1, emptyFormat);
if (makeLastStandard)
setFormat(i - 1, 1, emptyFormat);
makeLastStandard = false;
if (!buffer.isEmpty() && input != InputAlpha ) {
highlightKeyword(i, buffer);
buffer.clear();
}
} break;
case StateCommentStart1:
if (makeLastStandard)
setFormat(i - 1, 1, emptyFormat);
makeLastStandard = true;
buffer.resize(0);
break;
case StateCCommentStart2:
setFormat(i - 1, 2, m_commentFormat);
makeLastStandard = false;
buffer.resize(0);
break;
case StateCppCommentStart2:
setFormat(i - 1, 2, m_commentFormat);
makeLastStandard = false;
buffer.resize(0);
break;
case StateCComment:
if (makeLastStandard)
setFormat(i - 1, 1, emptyFormat);
makeLastStandard = false;
setFormat(i, 1, m_commentFormat);
buffer.resize(0);
break;
case StateCppComment:
if (makeLastStandard)
setFormat(i - 1, 1, emptyFormat);
makeLastStandard = false;
setFormat(i, 1, m_commentFormat);
buffer.resize(0);
break;
示例4: devInfo
bool DevCheck::devInfo(QString dev, QString* type, QString* label, QString* filesystem, QString* maxsize){
//OUTPUT: bool isGoodDevice
//INPUTS/OUTPUTS: type, label, filesystem, maxsize
//INPUT: dev = device node (da0, not /dev/da0)
//Clear the output variables
type->clear(); label->clear(); filesystem->clear(); maxsize->clear();
//make sure to have both the full path and just node
QString node;
QString fullDev;
if(dev.startsWith(DEVICEDIR)){ fullDev = dev; node = dev.section("/",-1); }
else{ node = dev; fullDev = DEVICEDIR + dev; }
//Do not allow sym-links
if(!QFile::symLinkTarget(fullDev).isEmpty()){ return FALSE; }
//Double check for valid device types (just in case)
QString detType;
for(int i=0; i<validDevs.length(); i++){
if(node.startsWith(validDevs[i]) && node != "mdctl"){
detType = validDevTypes[i];
break;
}
}
QString camctl;
if(detType == "USB" && QFile::exists(fullDev)){
//make sure that it is not a SCSI device
camctl = pcbsd::Utils::runShellCommand( QString("camcontrol inquiry ")+node ).join(" ");
if(camctl.contains(" Fixed Direct Access SCSI")){ detType = "SCSI"; } //USB devices do not have any output
if(camctl.contains("camcontrol")){ camctl.clear(); } //error or invalid device type
}
//Make sure we quit before running commands on any invalid device nodes
if(detType.isEmpty() || !QFile::exists(fullDev) ){return FALSE;}
else{type->append(detType);}
bool isCD=FALSE;
if(detType == "CD9660" || detType == "ISO"){ isCD=TRUE; }
//Read the Device Info using "file -s <device>"
QString cmd = "file -s "+fullDev;
QString output = pcbsd::Utils::runShellCommand(cmd).join(" ");
//if(isCD){ qDebug() << "File -s output:" << output; }
// ** Get the max storage size **
int kb = 0;
bool hasPartitions = FALSE;
bool isMounted = FALSE;
if( !isCD ){
QStringList tmp = output.split(",");
if( !tmp.filter("partition ").isEmpty() ){
//Check for actual sub-devices (*s[#][a/b/c/....])
if( devChildren(node).length() > 0 ){ hasPartitions = TRUE; }
}
if( !tmp.filter("last mounted on /").isEmpty() && (detType == "SATA")){
isMounted = TRUE;
}
//Now try to get the size of the disk
if( !tmp.filter("number of data blocks").isEmpty() ){
tmp = tmp.filter("number of data blocks");
kb = tmp[0].remove("number of data blocks").simplified().toInt();
}else if( !tmp.filter("number of blocks").isEmpty() ){
tmp = tmp.filter("number of blocks");
kb = tmp[0].remove("number of blocks").simplified().toInt();
}else if( !tmp.filter("hidden sectors").isEmpty()){
tmp = tmp.filter("hidden sectors");
kb = tmp[0].remove("hidden sectors").simplified().toInt();
}else if( !tmp.filter("sectors").isEmpty()){
tmp = tmp.filter("sectors");
//qDebug() << "Det Sectors line:"<<tmp;
int num=0;
for(int i=0; i<tmp.length(); i++){
int n = tmp[i].remove("sectors").section("(",0,0).simplified().toInt();
if(n > num){ num = n; }
}
kb = num;
}else{ kb = -1; }
} //end non-CD size and isMounted detection
bool oksize = (kb > 0);
//First try to get the device label using the "file -s" output
QString dlabel;
if(isCD){
if( !output.contains("ERROR:") ){
dlabel = output.section("'",-2).remove("'").simplified();
if(dlabel.contains("(")){ dlabel = dlabel.left(dlabel.indexOf("(")+1).trimmed();}
}
}else{
dlabel = output.section("label: \"",1,1).section("\"",0,0).simplified(); //device name
}
// - trim the label out of the output line for filesystem type detection
QString devFSsec, devFSsec2;
if(!isCD){
devFSsec = output.section("label:",0,0);
devFSsec2 = output.section("label:",1,3).section(",",1,1,QString::SectionSkipEmpty);
}else{
devFSsec = output.simplified();
}
// ** Find the filesystem type for the device **
QString filesys;
for(int i=0; i<fsDetection.length(); i++){
if(devFSsec.contains(fsDetection[i]) || devFSsec2.contains(fsDetection[i]) ){
filesys = fsMatch[i];
}
//.........这里部分代码省略.........
示例5: slotBrowse
void PathChooser::slotBrowse()
{
emit beforeBrowsing();
QString predefined = path();
if ((predefined.isEmpty() || !QFileInfo(predefined).isDir())
&& !d->m_initialBrowsePathOverride.isNull()) {
predefined = d->m_initialBrowsePathOverride;
if (!QFileInfo(predefined).isDir())
predefined.clear();
}
// Prompt for a file/dir
QString newPath;
switch (d->m_acceptingKind) {
case PathChooser::Directory:
case PathChooser::ExistingDirectory:
newPath = QFileDialog::getExistingDirectory(this,
makeDialogTitle(tr("Choose Directory")), predefined);
break;
case PathChooser::ExistingCommand:
case PathChooser::Command:
newPath = QFileDialog::getOpenFileName(this,
makeDialogTitle(tr("Choose Executable")), predefined,
d->m_dialogFilter);
break;
case PathChooser::File: // fall through
newPath = QFileDialog::getOpenFileName(this,
makeDialogTitle(tr("Choose File")), predefined,
d->m_dialogFilter);
break;
case PathChooser::SaveFile:
newPath = QFileDialog::getSaveFileName(this,
makeDialogTitle(tr("Choose File")), predefined,
d->m_dialogFilter);
break;
case PathChooser::Any: {
QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
dialog.setWindowTitle(makeDialogTitle(tr("Choose File")));
QFileInfo fi(predefined);
if (fi.exists())
dialog.setDirectory(fi.absolutePath());
// FIXME: fix QFileDialog so that it filters properly: lib*.a
dialog.setNameFilter(d->m_dialogFilter);
if (dialog.exec() == QDialog::Accepted) {
// probably loop here until the *.framework dir match
QStringList paths = dialog.selectedFiles();
if (!paths.isEmpty())
newPath = paths.at(0);
}
break;
}
default:
break;
}
// Delete trailing slashes unless it is "/"|"\\", only
if (!newPath.isEmpty()) {
newPath = QDir::toNativeSeparators(newPath);
if (newPath.size() > 1 && newPath.endsWith(QDir::separator()))
newPath.truncate(newPath.size() - 1);
setPath(newPath);
}
emit browsingFinished();
d->m_lineEdit->triggerChanged();
}
示例6: FTSOpen
int Database::FTSOpen(
sqlite3_tokenizer* pTokenizer,
const char* input,
int bytes,
sqlite3_tokenizer_cursor** cursor) {
UnicodeTokenizerCursor* new_cursor = new UnicodeTokenizerCursor;
new_cursor->pTokenizer = pTokenizer;
new_cursor->position = 0;
QString str = QString::fromUtf8(input, bytes).toLower();
QChar* data = str.data();
// Decompose and strip punctuation.
QList<Token> tokens;
QString token;
int start_offset = 0;
int offset = 0;
for (int i = 0; i < str.length(); ++i) {
QChar c = data[i];
ushort unicode = c.unicode();
if (unicode <= 0x007f) {
offset += 1;
} else if (unicode >= 0x0080 && unicode <= 0x07ff) {
offset += 2;
} else if (unicode >= 0x0800) {
offset += 3;
}
// Unicode astral planes unsupported in Qt?
/*else if (unicode >= 0x010000 && unicode <= 0x10ffff) {
offset += 4;
}*/
if (!data[i].isLetterOrNumber()) {
// Token finished.
if (token.length() != 0) {
tokens << Token(token, start_offset, offset - 1);
start_offset = offset;
token.clear();
} else {
++start_offset;
}
} else {
if (data[i].decompositionTag() != QChar::NoDecomposition) {
token.push_back(data[i].decomposition()[0]);
} else {
token.push_back(data[i]);
}
}
if (i == str.length() - 1) {
if (token.length() != 0) {
tokens << Token(token, start_offset, offset);
token.clear();
}
}
}
new_cursor->tokens = tokens;
*cursor = reinterpret_cast<sqlite3_tokenizer_cursor*>(new_cursor);
return SQLITE_OK;
}
示例7: qt_win_get_save_file_name
QString qt_win_get_save_file_name(const QFileDialogArgs &args,
QString *initialDirectory,
QString *selectedFilter)
{
QString result;
QString isel = args.selection;
if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:"))
initialDirectory->remove(0, 5);
QFileInfo fi(*initialDirectory);
if (initialDirectory && !fi.isDir()) {
*initialDirectory = fi.absolutePath();
if (isel.isEmpty())
isel = fi.fileName();
}
if (!fi.exists())
*initialDirectory = QDir::homePath();
DWORD selFilIdx = 0;
int idx = 0;
if (selectedFilter) {
QStringList filterLst = qt_win_make_filters_list(args.filter);
idx = filterLst.indexOf(*selectedFilter);
}
QDialog modal_widget;
modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
modal_widget.setParent(args.parent, Qt::Window);
QApplicationPrivate::enterModal(&modal_widget);
bool hideFiltersDetails = args.options & QFileDialog::HideNameFilterDetails;
// This block is used below for the lpstrDefExt member.
// Note that the current MSDN docs document this member wrong.
// It should rather be documented as "the default extension if no extension was given and if the
// current filter does not have a extension (e.g (*)). If the current filter have an extension, use
// the extension of the current filter"
QString defaultSaveExt;
if (selectedFilter && !selectedFilter->isEmpty()) {
defaultSaveExt = qt_win_extract_filter(*selectedFilter);
// make sure we only have the extension
int firstDot = defaultSaveExt.indexOf(QLatin1Char('.'));
if (firstDot != -1) {
defaultSaveExt.remove(0, firstDot + 1);
} else {
defaultSaveExt.clear();
}
}
OPENFILENAME *ofn = qt_win_make_OFN(args.parent, args.selection,
args.directory, args.caption,
qt_win_filter(args.filter, hideFiltersDetails),
QFileDialog::AnyFile,
args.options);
ofn->lpstrDefExt = (wchar_t*)defaultSaveExt.utf16();
if (idx)
ofn->nFilterIndex = idx + 1;
if (GetSaveFileName(ofn)) {
result = QString::fromWCharArray(ofn->lpstrFile);
selFilIdx = ofn->nFilterIndex;
}
qt_win_clean_up_OFN(&ofn);
#if defined(Q_WS_WINCE)
int semIndex = result.indexOf(QLatin1Char(';'));
if (semIndex >= 0)
result = result.left(semIndex);
#endif
QApplicationPrivate::leaveModal(&modal_widget);
qt_win_eatMouseMove();
if (result.isEmpty())
return result;
fi = result;
*initialDirectory = fi.path();
if (selectedFilter)
*selectedFilter = qt_win_selected_filter(args.filter, selFilIdx);
return fi.absoluteFilePath();
}
示例8: createItems
//.........这里部分代码省略.........
//qDebug() << "item->id()" << item->id() << "l" << l;
if (item->id()=="last")
removeRow(l-1);
}
}
#endif
QList<DatabaseManager::Entry>::iterator i = list.begin();
int prevDateRow = 0;
if (rowCount()>0) {
EntryItem* item = dynamic_cast<EntryItem*>(readRow(rowCount()-1));
prevDateRow = getDateRowId(item->date());
//qDebug() << "prevDateRow UID:" << item->uid();
}
QRegExp re("<[^>]*>");
while (i != list.end() ) {
// Removing html tags!
QTextDocument doc;
doc.setHtml((*i).content);
QString content0 = doc.toPlainText()
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
.replace(QChar::ObjectReplacementCharacter,QChar::Space).trimmed();
#else
.replace(QChar::ObjectReplacementCharacter,QChar(0x0020)).trimmed();
#endif
QString content = content0.simplified();
if (content.length()>1000) {
content = content.left(997)+"...";
} else if (content.length() < 15) {
content.clear();
}
doc.setHtml((*i).title);
QString title = doc.toPlainText()
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
.replace(QChar::ObjectReplacementCharacter,QChar::Space)
#else
.replace(QChar::ObjectReplacementCharacter,QChar(0x0020))
#endif
.simplified();
if (title.length()>200)
title = title.left(197)+QString("...");
//qDebug() << title;
/*QRegExp rx("(\\S*)\\s*\((\\S*)\)", Qt::CaseInsensitive);
if (rx.indexIn((*i).author)!=-1) {
qDebug() << "(*i).author:" << (*i).author << "cap:" << rx.cap(1).toUtf8();
//(*i).author = rx.cap(1).toUtf8();
}*/
// Detecting invalid images
bool imageOk = true;
QUrl imageUrl((*i).image);
//qDebug() << imageUrl.path();
if (imageUrl.path() == "/assets/images/transparent.png")
imageOk = false;
if (imageUrl.host() == "rc.feedsportal.com")
imageOk = false;
// Adding date row
int dateRow = getDateRowId((*i).publishedAt);
示例9: nextToken
int Recognizer::nextToken()
{
QString text;
Lagain:
while (ch.isSpace ())
inp ();
if (ch.isNull ())
return EOF_SYMBOL;
int token = ch.unicode ();
if (token == '"')
{
inp(); // skip "
text.clear ();
while (! ch.isNull () && ch != QLatin1Char ('"'))
{
if (ch == QLatin1Char ('\\'))
{
text += ch;
inp();
}
text += ch;
inp ();
}
if (ch == QLatin1Char ('"'))
inp ();
else
qerr << _M_input_file << ":" << _M_line << ": Warning. Expected `\"'" << endl;
_M_current_value = text;
return (token = STRING_LITERAL);
}
else if (ch.isLetterOrNumber () || ch == QLatin1Char ('_'))
{
text.clear ();
do { text += ch; inp (); }
while (ch.isLetterOrNumber () || ch == QLatin1Char ('_') || ch == QLatin1Char ('.'));
_M_current_value = text;
return (token = ID);
}
else if (token == '%')
{
text.clear ();
do { inp (); }
while (ch.isSpace ());
do { text += ch; inp (); }
while (ch.isLetterOrNumber () || ch == QLatin1Char ('_') || ch == QLatin1Char ('-'));
if (text == QLatin1String("token_prefix"))
return (token = TOKEN_PREFIX);
else if (text == QLatin1String("merged_output"))
return (token = MERGED_OUTPUT);
else if (text == QLatin1String("token"))
return (token = TOKEN);
else if (text == QLatin1String("start"))
return (token = START);
else if (text == QLatin1String("parser"))
return (token = PARSER);
else if (text == QLatin1String("decl"))
return (token = DECL_FILE);
else if (text == QLatin1String("impl"))
return (token = IMPL_FILE);
else if (text == QLatin1String("expect"))
return (token = EXPECT);
else if (text == QLatin1String("expect-rr"))
return (token = EXPECT_RR);
else if (text == QLatin1String("left"))
return (token = LEFT);
else if (text == QLatin1String("right"))
return (token = RIGHT);
else if (text == QLatin1String("nonassoc"))
return (token = NONASSOC);
else if (text == QLatin1String("prec"))
return (token = PREC);
else
{
qerr << _M_input_file << ":" << _M_line << ": Unknown keyword `" << text << "'" << endl;
exit (EXIT_FAILURE);
return (token = ERROR);
}
}
inp ();
if (token == '-' && ch == QLatin1Char ('-'))
{
do { inp (); }
while (! ch.isNull () && ch != QLatin1Char ('\n'));
goto Lagain;
}
else if (token == ':' && ch == QLatin1Char (':'))
//.........这里部分代码省略.........
示例10: parseFiles
//.........这里部分代码省略.........
// Hinzufügen des endungsabhängigen Icons
// PDF
if (name.contains(QRegExp(".pdf$", Qt::CaseInsensitive)))
newFile->setData(QIcon(":/Icons/Icons/filetype_pdf.png"), Qt::DecorationRole);
// ZIP
else if (name.contains(QRegExp(".zip$", Qt::CaseInsensitive)))
newFile->setData(QIcon(":/Icons/Icons/filetype_zip.png"), Qt::DecorationRole);
// RAR
else if (name.contains(QRegExp(".rar$", Qt::CaseInsensitive)))
newFile->setData(QIcon(":/Icons/Icons/filetype_rar.png"), Qt::DecorationRole);
// Sonstige
else
newFile->setData(QIcon(":/Icons/Icons/file.png"), Qt::DecorationRole);
QString path;
path.append(Utils::getStrukturelementPfad(aktuellerOrdner, downloadDirectoryPath) %"/");
path.append(name);
path.remove(0,8);
if(QFile::exists(path))
{
newFile->setData(SYNCHRONISED, synchronisedRole);
}
else
{
newFile->setData(NOT_SYNCHRONISED, synchronisedRole);
}
QList<QStandardItem*> row;
row.append(newFile);
row.append(new QStandardItem(QString::number(size/1024.0/1024.0, 'f', 2) % " MB"));
row.append(new QStandardItem(QDateTime::fromString(time, Qt::ISODate).toString("yyyy-MM-dd hh:mm")));
// Hinzufügen zum aktuellen Ordner
aktuellerOrdner->appendRow(row);
}
// 2. Fall: Ordner/Veranstaltung
// Ausschließen der Ordnernamen "documents" und "structured"
else if (name != "documents" && name != "structured" && !url.toString().contains("exerciseCourse"))
{
// Erstellen eines neuen Ordners
Structureelement* newDirectory = new Structureelement(name, url, directoryItem);
// Setzen des Zeichens
newDirectory->setData(QIcon(":/Icons/Icons/25_folder.png"), Qt::DecorationRole);
// Hinzufügen zum aktuellen Ordner
aktuellerOrdner->appendRow(newDirectory);
// NeuerOrdner wird zum aktuellen Ordner
aktuellerOrdner = newDirectory;
}
}
// Löschen aller eingelesener Daten
url.clear();
name.clear();
size = 0;
time.clear();
}
// Einlesen der Elementeigenschaften
else if (Reader.isCharacters() && !Reader.isWhitespace())
{
// URL
if(currentXmlTag == "href" && url.isEmpty())
url.setUrl(QString::fromUtf8(Reader.text().toString().toLatin1()));
// Name
else if (currentXmlTag == "displayname")
name = QString::fromUtf8(Reader.text().toString().toLatin1());
// Größe
else if (currentXmlTag == "getcontentlength")
size = Reader.text().toString().toInt();
// Modifizierungsdatum
else if (currentXmlTag == "getlastmodified")
time = QString::fromUtf8(Reader.text().toString().toLatin1());
}
}
// Leere Ordner wieder rausschmeißen.
Structureelement* rootCourse = replies->value(reply);
for (int i = 0; i < rootCourse->rowCount(); i++)
{
Structureelement *item = (Structureelement *)rootCourse->child(i);
if (item->type() == directoryItem && item->rowCount() == 0)
{
rootCourse->removeRow(i);
}
}
// Sortieren aller Dateien
replies->value(reply)->sortChildren(0, Qt::AscendingOrder);
}
示例11: exec
int CommandExec::exec(const QCommandLineParser *parser)
{
m_pCPart->parser = const_cast<QCommandLineParser*>(parser);
m_pCPart->args = parser->positionalArguments();
if (m_pCPart->args.isEmpty()) {
return -1;
}
m_lastMessages.clear();
m_lastMessagesLines = 0;
m_pCPart->m_SvnWrapper->reInitClient();
bool dont_check_second = false;
bool dont_check_all = false;
bool path_only = false;
bool no_revision = false;
bool check_force = false;
if (m_pCPart->args.count() >= 2) {
m_pCPart->cmd = m_pCPart->args.at(1);
m_pCPart->cmd = m_pCPart->cmd.toLower();
}
QByteArray slotCmd;
if (!QString::compare(m_pCPart->cmd, "log")) {
slotCmd = SLOT(slotCmd_log());
} else if (!QString::compare(m_pCPart->cmd, "cat")) {
slotCmd = SLOT(slotCmd_cat());
m_pCPart->single_revision = true;
} else if (!QString::compare(m_pCPart->cmd, "get")) {
slotCmd = SLOT(slotCmd_get());
m_pCPart->single_revision = true;
} else if (!QString::compare(m_pCPart->cmd, "help")) {
slotCmd = SLOT(slotCmd_help());
} else if (!QString::compare(m_pCPart->cmd, "blame") ||
!QString::compare(m_pCPart->cmd, "annotate")) {
slotCmd = SLOT(slotCmd_blame());
} else if (!QString::compare(m_pCPart->cmd, "update")) {
slotCmd = SLOT(slotCmd_update());
m_pCPart->single_revision = true;
} else if (!QString::compare(m_pCPart->cmd, "diff")) {
m_pCPart->start = svn::Revision::WORKING;
slotCmd = SLOT(slotCmd_diff());
} else if (!QString::compare(m_pCPart->cmd, "info")) {
slotCmd = SLOT(slotCmd_info());
m_pCPart->single_revision = true;
} else if (!QString::compare(m_pCPart->cmd, "commit") ||
!QString::compare(m_pCPart->cmd, "ci")) {
slotCmd = SLOT(slotCmd_commit());
} else if (!QString::compare(m_pCPart->cmd, "list") ||
!QString::compare(m_pCPart->cmd, "ls")) {
slotCmd = SLOT(slotCmd_list());
} else if (!QString::compare(m_pCPart->cmd, "copy") ||
!QString::compare(m_pCPart->cmd, "cp")) {
slotCmd = SLOT(slotCmd_copy());
dont_check_second = true;
} else if (!QString::compare(m_pCPart->cmd, "move") ||
!QString::compare(m_pCPart->cmd, "rename") ||
!QString::compare(m_pCPart->cmd, "mv")) {
slotCmd = SLOT(slotCmd_move());
dont_check_second = true;
} else if (!QString::compare(m_pCPart->cmd, "checkout") ||
!QString::compare(m_pCPart->cmd, "co")) {
slotCmd = SLOT(slotCmd_checkout());
dont_check_second = true;
} else if (!QString::compare(m_pCPart->cmd, "checkoutto") ||
!QString::compare(m_pCPart->cmd, "coto")) {
slotCmd = SLOT(slotCmd_checkoutto());
dont_check_second = true;
} else if (!QString::compare(m_pCPart->cmd, "export")) {
slotCmd = SLOT(slotCmd_export());
dont_check_second = true;
} else if (!QString::compare(m_pCPart->cmd, "exportto")) {
slotCmd = SLOT(slotCmd_exportto());
dont_check_second = true;
} else if (!QString::compare(m_pCPart->cmd, "delete") ||
!QString::compare(m_pCPart->cmd, "del") ||
!QString::compare(m_pCPart->cmd, "rm") ||
!QString::compare(m_pCPart->cmd, "remove")) {
slotCmd = SLOT(slotCmd_delete());
} else if (!QString::compare(m_pCPart->cmd, "add")) {
slotCmd = SLOT(slotCmd_add());
dont_check_all = true;
path_only = true;
} else if (!QString::compare(m_pCPart->cmd, "undo") ||
!QString::compare(m_pCPart->cmd, "revert")) {
slotCmd = SLOT(slotCmd_revert());
} else if (!QString::compare(m_pCPart->cmd, "checknew") ||
!QString::compare(m_pCPart->cmd, "addnew")) {
slotCmd = SLOT(slotCmd_addnew());
} else if (!QString::compare(m_pCPart->cmd, "switch")) {
slotCmd = SLOT(slotCmd_switch());
} else if (!QString::compare(m_pCPart->cmd, "tree")) {
slotCmd = SLOT(slotCmd_tree());
} else if (!QString::compare(m_pCPart->cmd, "lock")) {
slotCmd = SLOT(slotCmd_lock());
no_revision = true;
check_force = true;
} else if (!QString::compare(m_pCPart->cmd, "unlock")) {
slotCmd = SLOT(slotCmd_unlock());
no_revision = true;
check_force = true;
}
//.........这里部分代码省略.........
示例12: unlockApp
void PBIBackend::unlockApp(QStringList appID, QString injail){
QHash<QString, NGApp> hash;
if(JAILPKGS.contains(injail)){ hash = JAILPKGS[injail]; }
for(int i=0; i<appID.length(); i++){
NGApp app;
if(hash.contains(appID[i])){ app = hash[appID[i]]; }
else if(APPHASH.contains(appID[i])){ app = APPHASH[appID[i]]; }
else if(PKGHASH.contains(appID[i])){ app = PKGHASH[appID[i]]; }
else{ continue; }
if(app.isInstalled && app.isLocked){
//Run lock/unlock commands ASAP since they take no time at all, but have to be in the pkg queue
QString cmd;
if(injail.isEmpty() || !RUNNINGJAILS.contains(injail) ){ cmd = "pc-pkg unlock -y "+appID[i]; injail.clear();}
else{ cmd = "pc-pkg -j "+RUNNINGJAILS[injail]+" unlock -y "+appID[i]; }
PENDING.prepend(appID[i]+"::::"+cmd+"::::"+injail);
}
}
QTimer::singleShot(0,this,SLOT(checkProcesses()) );
}
示例13: CollPtr
Tellico::Data::CollPtr BibtexImporter::readCollection(const QString& text, int urlCount) {
if(text.isEmpty()) {
myDebug() << "no text";
return Data::CollPtr();
}
Data::CollPtr ptr(new Data::BibtexCollection(true));
Data::BibtexCollection* c = static_cast<Data::BibtexCollection*>(ptr.data());
parseText(text); // populates m_nodes
if(m_cancelled) {
return Data::CollPtr();
}
if(m_nodes.isEmpty()) {
return Data::CollPtr();
}
QString str;
const uint count = m_nodes.count();
const uint stepSize = qMax(s_stepSize, count/100);
const bool showProgress = options() & ImportProgress;
Data::CollPtr currentColl = currentCollection();
if(!currentColl || currentColl->type() != Data::Collection::Bibtex) {
currentColl = ptr;
}
uint j = 0;
for(int i = 0; !m_cancelled && i < m_nodes.count(); ++i, ++j) {
AST* node = m_nodes[i];
// if we're parsing a macro string, comment or preamble, skip it for now
if(bt_entry_metatype(node) == BTE_PREAMBLE) {
char* preamble = bt_get_text(node);
if(preamble) {
c->setPreamble(QString::fromUtf8(preamble));
}
continue;
}
if(bt_entry_metatype(node) == BTE_MACRODEF) {
char* macro;
(void) bt_next_field(node, 0, ¯o);
// FIXME: replace macros within macro definitions!
// lookup lowercase macro in map
c->addMacro(m_macros[QString::fromUtf8(macro)], QString::fromUtf8(bt_macro_text(macro, 0, 0)));
continue;
}
if(bt_entry_metatype(node) == BTE_COMMENT) {
continue;
}
// now we're parsing a regular entry
Data::EntryPtr entry(new Data::Entry(ptr));
str = QString::fromUtf8(bt_entry_type(node));
// myDebug() << "entry type: " << str;
// text is automatically put into lower-case by btparse
Data::BibtexCollection::setFieldValue(entry, QLatin1String("entry-type"), str, currentColl);
str = QString::fromUtf8(bt_entry_key(node));
// myDebug() << "entry key: " << str;
Data::BibtexCollection::setFieldValue(entry, QLatin1String("key"), str, currentColl);
char* name;
AST* field = 0;
while((field = bt_next_field(node, field, &name))) {
// myDebug() << "\tfound: " << name;
// str = QLatin1String(bt_get_text(field));
str.clear();
AST* value = 0;
bt_nodetype type;
char* svalue;
bool end_macro = false;
while((value = bt_next_value(field, value, &type, &svalue))) {
switch(type) {
case BTAST_STRING:
case BTAST_NUMBER:
str += BibtexHandler::importText(svalue).simplified();
end_macro = false;
break;
case BTAST_MACRO:
str += QString::fromUtf8(svalue) + QLatin1Char('#');
end_macro = true;
break;
default:
break;
}
}
if(end_macro) {
// remove last character '#'
str.truncate(str.length() - 1);
}
QString fieldName = QString::fromUtf8(name);
if(fieldName == QLatin1String("author") || fieldName == QLatin1String("editor")) {
str.replace(QRegExp(QLatin1String("\\sand\\s")),FieldFormat::delimiterString());
}
// there's a 'key' field different from the citation key
// http://nwalsh.com/tex/texhelp/bibtx-37.html
// TODO account for this later
//.........这里部分代码省略.........
示例14: getCMD
void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& path){
//Get the input file
QString inFile;
bool showDLG = false; //flag to bypass any default application setting
if(argc > 1){
for(int i=1; i<argc; i++){
if(QString(argv[i]).simplified() == "-select"){
showDLG = true;
}else{
inFile = argv[i];
break;
}
}
}else{
printUsageInfo();
}
//Make sure that it is a valid file/URL
bool isFile=false; bool isUrl=false;
if(QFile::exists(inFile)){ isFile=true; }
else if(QUrl(inFile).isValid()){ isUrl=true; }
if( !isFile && !isUrl ){ qDebug() << "Error: Invalid file or URL"; return;}
//Determing the type of file (extension)
QString extension;
if(isFile){
QFileInfo info(inFile);
extension=info.completeSuffix();
if(info.isDir()){ extension="directory"; }
else if(info.isExecutable() && extension!="desktop"){ extension="binary"; }
}else if(isUrl){ extension = inFile.section(":",0,0); }
//if not an application - find the right application to open the file
QString cmd;
bool useInputFile = false;
if(extension=="desktop" && !showDLG){
bool ok = false;
XDGDesktop DF = LXDG::loadDesktopFile(inFile, ok);
if(!ok){
qDebug() << "[ERROR] Input *.desktop file could not be read:" << inFile;
exit(1);
}
switch(DF.type){
case XDGDesktop::APP:
if(!DF.exec.isEmpty()){
cmd = LXDG::getDesktopExec(DF);
if(!DF.path.isEmpty()){ path = DF.path; }
}else{
qDebug() << "[ERROR] Input *.desktop application file is missing the Exec line:" << inFile;
exit(1);
}
break;
case XDGDesktop::LINK:
if(!DF.url.isEmpty()){
//This is a URL - so adjust the input variables appropriately
inFile = DF.url;
cmd.clear();
extension = inFile.section(":",0,0);
}else{
qDebug() << "[ERROR] Input *.desktop link file is missing the URL line:" << inFile;
exit(1);
}
break;
case XDGDesktop::DIR:
if(!DF.path.isEmpty()){
//This is a directory link - adjust inputs
inFile = DF.path;
cmd.clear();
extension = "directorypath";
}else{
qDebug() << "[ERROR] Input *.desktop directory file is missing the Path line:" << inFile;
exit(1);
}
break;
default:
qDebug() << "[ERROR] Unknown *.desktop file type:" << inFile;
exit(1);
}
}
if(cmd.isEmpty()){
if(extension=="binary"){ cmd = inFile; }
else{
//Find out the proper application to use this file/directory
useInputFile=true;
cmd = cmdFromUser(argc, argv, inFile, extension, path, showDLG);
}
}
//qDebug() << "Found Command:" << cmd << "Extension:" << extension;
//Clean up the command appropriately for output
if(cmd.contains("%")){cmd = cmd.remove("%U").remove("%u").remove("%F").remove("%f").simplified(); }
binary = cmd;
if(useInputFile){ args = inFile; }
}
示例15: load
//.........这里部分代码省略.........
for (;;) {
if (cc == '\\') {
int metaCharPos;
SKIP_CHAR();
if (cc == '\n') {
SKIP_CHAR();
}
else if (cc > '0' && cc < '8') {
word += QChar(c.digitValue());
SKIP_CHAR();
}
else if ((metaCharPos = QString::fromLatin1("abfnrtv").indexOf(c)) != -1) {
word += "\a\b\f\n\r\t\v"[metaCharPos];
SKIP_CHAR();
}
else {
PUT_CHAR();
}
}
else if (c.isSpace() || cc == '#') {
if (inQuote) {
if (cc == '\n')
location.fatal(tr("Unterminated string"));
PUT_CHAR();
}
else {
if (!word.isEmpty()) {
if (metWord)
stringValue += QLatin1Char(' ');
stringValue += word;
stringListValue << word;
metWord = true;
word.clear();
prevWordQuoted = false;
}
if (cc == '\n' || cc == '#')
break;
SKIP_SPACES();
}
}
else if (cc == '"') {
if (inQuote) {
if (!prevWordQuoted)
stringValue += QLatin1Char(' ');
stringValue += word;
if (!word.isEmpty())
stringListValue << word;
metWord = true;
word.clear();
prevWordQuoted = true;
}
inQuote = !inQuote;
SKIP_CHAR();
}
else if (cc == '$') {
QString var;
SKIP_CHAR();
while (c.isLetterOrNumber() || cc == '_') {
var += c;
SKIP_CHAR();
}
if (!var.isEmpty()) {
char *val = getenv(var.toLatin1().data());
if (val == 0) {
location.fatal(tr("Environment variable '%1' undefined").arg(var));