QString SmsWidget::parseLinks(QString _s) { QRegExp r; r.setPattern("^(.*)(http|https|ftp|ftps)\\:\\/\\/([^ ]+)(.*)$"); if (r.exactMatch(_s)) return parseLinks(r.cap(1)) + "<a href=\"" + r.cap(2) + "://" + r.cap(3) + "\">" + r.cap(2) + "://" + r.cap(3) + "</a> " + parseLinks(r.cap(4)); else return _s; }
virtual void parse(QDomElement & resources) { QDomNodeList nodes = resources.elementsByTagName("computer"); parseNodes(nodes); QDomNodeList stores = resources.elementsByTagName("storage"); parseStores(stores); QDomNodeList switches = resources.elementsByTagName("router"); parseSwitches(switches); QDomNodeList links = resources.elementsByTagName("link"); parseLinks(links); }
virtual void parse(QDomElement & demand) { this->demand = demand; QString name = demand.attribute("id"); request->setName(name.toStdString()); QDomNodeList nodes = demand.elementsByTagName("vm"); parseNodes(nodes); QDomNodeList stores = demand.elementsByTagName("storage"); parseStores(stores); QDomNodeList links = demand.elementsByTagName("link"); parseLinks(links); }
int WikiParser::renderInternal(const String &Source, String &Html) { String Tmp; String Text=Source; Text.replace("\r\n","\n"); extractNoWiki(Text); extractSourcecode(Text); extractDiagrams(Text); String Line; Array Rows; Rows.explode(Text,"\n"); Array Match; for (size_t j=0;j<Rows.size();j++) { Line=Rows[j]; nobr=false; parseHeadlines(Line); parseLinks(Line); parseDoxygen(Line); if (parseOL(Line)) continue; if (parseUL(Line)) continue; if (parseIndent(Line)) continue; parseTable(Line); parseAutoPRE(Line); // Zeilen mit Space am Anfang? // An bestimmten Stellen wollen wir am Ende kein <br> if (Line.pregMatch("/^.*<\\/li>$/i")) nobr=true; if (Line.pregMatch("/^.*<nobr>$/i")) { Line.pregReplace("/<nobr>$/i",""); nobr=true; } Line.trim(); ret+=Line; if (!nobr) ret+="<br>"; ret+="\n"; } finalize(); if (indexenabled) buildIndex(Html); // Index hinzufügen Html+=ret; return 1; }
static Scheme* parseScheme(uint8_t* data) { Scheme *ret = malloc(sizeof(Scheme)); int len = parseArraySize(data); for(int i = 0; i < len; i++) { if(i == 0) { ret->lines = parseLines(data, &(ret->linesLen)); } else if(i == 1) { ret->stations = parseStations(data, &(ret->stationsLen)); } else if(i == 2) { ret->links = parseLinks(data, &(ret->linksLen)); } } return ret; }
SmsWidget::SmsWidget(QMyMessage _sms, QPixmap _ico, bool received) : originalText(_sms.getMessage()), msg(_sms), type(received), number(_sms.getPhone()), readed(_sms.getReaded()), caricaAltri(false) { id = _sms.getId(); name = _sms.getParsedName(); labelGroup = new QLabel(_sms.getParsedName()); labelGroup->setFont(QFont(labelGroup->font().family(), -1, QFont::Bold, false)); labelGroup->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); labelGroup->setMaximumSize(10000, 18); labelIco = new QLabel(); labelIco->setPixmap(_ico); labelIco->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); labelIco->setMaximumSize(16, 16); labelIco->setMinimumSize(16, 16); labelIco->setScaledContents(true); QString service = _sms.getAccountName(); if(!service.isEmpty()) labelIco->setToolTip(service); labelIcoReceived = new QLabel(); labelIcoReceived->setMaximumSize(16, 16); labelIcoReceived->setMinimumSize(16, 16); labelIcoReceived->setScaledContents(true); createBubble(_sms.getReaded(), received); labelTime = new QLabel(msg.getData().toString("dd/MM/yyyy hh:mm:ss")); labelTime->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); labelTime->setMaximumSize(10000, 18); QString _txt = msg.getMessage(); _txt = _txt.replace("<","<"); _txt = _txt.replace(">",">"); _txt = parseQuotes(_txt); _txt = parseLinks(_txt); _txt = parseAts(_txt); labelTxt = new QLabel(_txt); labelTxt->setTextInteractionFlags(Qt::LinksAccessibleByMouse); labelTxt->setWordWrap(true); labelTxt->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); connect(labelTxt, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString))); hLayout = new QHBoxLayout; vLayout = new QVBoxLayout; labelGroup->adjustSize(); labelIco->adjustSize(); labelIcoReceived->adjustSize(); labelTxt->adjustSize(); labelTime->adjustSize(); hLayout->addWidget(labelIcoReceived); hLayout->addWidget(labelGroup); hLayout->addWidget(labelTime); hLayout->addWidget(labelIco); vLayout->addLayout(hLayout); vLayout->addWidget(labelTxt); setLayout(vLayout); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); adjustSize(); }
SmsWidget::SmsWidget(QString _txt, QPixmap _ico, bool received, QDateTime time ,QString user, QString service, QString _id, libJackSMS::dataTypes::phoneNumber _number, bool _letto) : originalText(_txt), type(received), id(_id), number(_number), readed(_letto), dateTim(time), caricaAltri(false) { name = user; labelGroup = new QLabel(user); labelGroup->setFont(QFont(labelGroup->font().family(), -1, QFont::Bold, false)); labelGroup->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed); labelGroup->setMaximumSize(10000,18); labelIco = new QLabel(); labelIco->setPixmap(_ico); labelIco->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); labelIco->setMaximumSize(16, 16); labelIco->setMinimumSize(16, 16); labelIco->setScaledContents(true); if (!service.isEmpty()) labelIco->setToolTip(service); labelIcoReceived = new QLabel(); labelIcoReceived->setMaximumSize(16, 16); labelIcoReceived->setMinimumSize(16, 16); labelIcoReceived->setScaledContents(true); createBubble(_letto, received); labelTime = new QLabel(time.toString("dd/MM/yyyy hh:mm:ss")); labelTime->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); labelTime->setMaximumSize(10000, 18); _txt = _txt.replace("<", "<"); _txt = _txt.replace(">", ">"); _txt = parseQuotes(_txt); _txt = parseLinks(_txt); _txt = parseAts(_txt); labelTxt = new QLabel(_txt); labelTxt->setTextInteractionFlags(Qt::LinksAccessibleByMouse); labelTxt->setWordWrap(true); labelTxt->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); connect(labelTxt, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString))); hLayout = new QHBoxLayout; vLayout = new QVBoxLayout; labelGroup->adjustSize(); labelIco->adjustSize(); labelIcoReceived->adjustSize(); labelTxt->adjustSize(); labelTime->adjustSize(); hLayout->addWidget(labelIcoReceived); hLayout->addWidget(labelGroup); hLayout->addWidget(labelTime); hLayout->addWidget(labelIco); vLayout->addLayout(hLayout); vLayout->addWidget(labelTxt); setLayout(vLayout); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); adjustSize(); }