本文整理汇总了C++中qstringlist::iterator::prepend方法的典型用法代码示例。如果您正苦于以下问题:C++ iterator::prepend方法的具体用法?C++ iterator::prepend怎么用?C++ iterator::prepend使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qstringlist::iterator
的用法示例。
在下文中一共展示了iterator::prepend方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: quoteText
/** @short Take the initial text and mark it as a quotation */
QStringList quoteText(QStringList inputLines)
{
QStringList quote;
for (QStringList::iterator line = inputLines.begin(); line != inputLines.end(); ++line) {
if (UiUtils::signatureSeparator().match(*line).hasMatch()) {
// This is the signature separator, we should not include anything below that in the quote
break;
}
// rewrap - we need to keep the quotes at < 79 chars, yet the grow with every level
if (line->length() < 79-2) {
// this line is short enough, prepend quote mark and continue
if (line->isEmpty() || line->at(0) == QLatin1Char('>'))
line->prepend(QLatin1Char('>'));
else
line->prepend(QLatin1String("> "));
quote << *line;
continue;
}
// long line -> needs to be wrapped
// 1st, detect the quote depth and eventually stript the quotes from the line
int quoteLevel = 0;
int contentStart = 0;
if (line->at(0) == QLatin1Char('>')) {
quoteLevel = 1;
while (quoteLevel < line->length() && line->at(quoteLevel) == QLatin1Char('>'))
++quoteLevel;
contentStart = quoteLevel;
if (quoteLevel < line->length() && line->at(quoteLevel) == QLatin1Char(' '))
++contentStart;
}
// 2nd, build a quote string
QString quotemarks;
for (int i = 0; i < quoteLevel; ++i)
quotemarks += QLatin1Char('>');
quotemarks += QLatin1String("> ");
// 3rd, wrap the line, prepend the quotemarks to each line and add it to the quote text
int space(contentStart), lastSpace(contentStart), pos(contentStart), length(0);
while (pos < line->length()) {
if (line->at(pos) == QLatin1Char(' '))
space = pos+1;
++length;
if (length > 65-quotemarks.length() && space != lastSpace) {
// wrap
quote << quotemarks + line->mid(lastSpace, space - lastSpace);
lastSpace = space;
length = pos - space;
}
++pos;
}
quote << quotemarks + line->mid(lastSpace);
}
return quote;
}
示例2: addLine
void MacroManager::addLine(LineType Type, const char* sLine)
{
if (this->openMacro) {
bool comment = false;
if (Type == Gui) {
if (this->recordGui && this->guiAsComment)
comment = true;
else if (!this->recordGui)
return; // ignore Gui commands
}
else if (Type == Cmt) {
comment = true;
}
QStringList lines = QString::fromLatin1(sLine).split(QLatin1String("\n"));
if (comment) {
for (QStringList::iterator it = lines.begin(); it != lines.end(); ++it)
it->prepend(QLatin1String("#"));
}
this->macroInProgress.append(lines);
}
if (this->scriptToPyConsole) {
// search for the Python console
if (!this->pyConsole)
this->pyConsole = Gui::getMainWindow()->findChild<Gui::PythonConsole*>();
// Python console found?
if (this->pyConsole)
this->pyConsole->printStatement(QString::fromUtf8(sLine));
}
}
示例3: btAddClicked
void GraphicalUriArray::btAddClicked()
{
if(m_editAdd->text().isEmpty())
{
if(m_comboType->currentText() == "cpath")
{
SelectPathDialog spd;
QString modified_path = m_editAdd->text();
URI path = spd.show(modified_path.toStdString());
if(!path.empty())
m_editAdd->setText( path.string().c_str() );
}
else if(m_comboType->currentText() == "file")
{
NRemoteOpen::Ptr nro = NRemoteOpen::create();
QStringList fileList = nro->showMultipleSelect("");
QStringList::iterator file = fileList.begin();
for( ; file != fileList.end() ; ++ file)
{
file->prepend( m_comboType->currentText() + ':' );
}
if(!fileList.isEmpty())
m_model->setStringList( m_model->stringList() << fileList );
}
}
if(!m_editAdd->text().isEmpty())
{
QString pathStr = m_editAdd->text();
if( !pathStr.startsWith(m_comboType->currentText()) )
pathStr.prepend(m_comboType->currentText() + ':');
m_model->setStringList( m_model->stringList() << pathStr );
m_editAdd->clear();
}
emit valueChanged();
}
示例4: quoteText
QString MessageView::quoteText() const
{
if (const AbstractPartWidget *w = dynamic_cast<const AbstractPartWidget *>(viewer)) {
QStringList quote;
QStringList lines = w->quoteMe().split('\n');
for (QStringList::iterator line = lines.begin(); line != lines.end(); ++line) {
if (Composer::Util::signatureSeparator().exactMatch(*line)) {
// This is the signature separator, we should not include anything below that in the quote
break;
}
// rewrap - we need to keep the quotes at < 79 chars, yet the grow with every level
if (line->length() < 79-2) {
// this line is short enough, prepend quote mark and continue
if (line->isEmpty() || line->at(0) == '>')
line->prepend(">");
else
line->prepend("> ");
quote << *line;
continue;
}
// long line -> needs to be wrapped
// 1st, detect the quote depth and eventually stript the quotes from the line
int quoteLevel = 0;
int contentStart = 0;
if (line->at(0) == '>') {
quoteLevel = 1;
while (quoteLevel < line->length() && line->at(quoteLevel) == '>')
++quoteLevel;
contentStart = quoteLevel;
if (quoteLevel < line->length() && line->at(quoteLevel) == ' ')
++contentStart;
}
// 2nd, build a qute string
QString quotemarks;
for (int i = 0; i < quoteLevel; ++i)
quotemarks += ">";
quotemarks += "> ";
// 3rd, wrap the line, prepend the quotemarks to each line and add it to the quote text
int space(contentStart), lastSpace(contentStart), pos(contentStart), length(0);
while (pos < line->length()) {
if (line->at(pos) == ' ')
space = pos+1;
++length;
if (length > 65-quotemarks.length() && space != lastSpace) {
// wrap
quote << quotemarks + line->mid(lastSpace, space - lastSpace);
lastSpace = space;
length = pos - space;
}
++pos;
}
quote << quotemarks + line->mid(lastSpace);
}
const Imap::Message::Envelope &e = message.data(Imap::Mailbox::RoleMessageEnvelope).value<Imap::Message::Envelope>();
QString sender;
if (!e.from.isEmpty())
sender = e.from[0].prettyName(Imap::Message::MailAddress::FORMAT_JUST_NAME);
if (e.from.isEmpty())
sender = tr("you");
// One extra newline at the end of the quoted text to separate the response
quote << QString();
return tr("On %1, %2 wrote:\n").arg(e.date.toLocalTime().toString(Qt::SystemLocaleLongDate)).arg(sender) + quote.join("\n");
}
return QString();
}