Example #1
0
QString SmsWidget::parseQuotes(QString _s)
{
    QRegExp r;
    r.setPattern("^(.*)<<(.*)>>(.*)$");
    if (r.exactMatch(_s))
        return parseQuotes(r.cap(1)) + "<font color=\"#0E459C\"><i>&lt;&lt;" + r.cap(2) + "&gt;&gt;</i></font>" + parseQuotes(r.cap(3));
    else
        return _s;
}
Example #2
0
void historical(const string& ticker, const gr::date& from, const gr::date& to, forward_list<pair<string,quote_>>& quotes)
{
  ostringstream sout;
  sout<< "http://ichart.yahoo.com/table.csv?" << "s=" << ticker << "&a=" << int(from.month()) - 1 << "&b=" << from.day() << "&c="
      << from.year() << "&d=" << int(to.month()) - 1 << "&e=" << to.day() << "&f=" << to.year() << "&g=d&ignore=.csv";

  Easy result;
  result.setOpt(Options::Url(sout.str()));
  ostringstream oss;
  oss<< result;
  istringstream iss(oss.str());

  parseQuotes(iss, quotes);
}
Example #3
0
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("<","&lt;");
    _txt = _txt.replace(">","&gt;");
    _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();
}
Example #4
0
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("<", "&lt;");
    _txt = _txt.replace(">", "&gt;");
    _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();
}
Example #5
0
QString parseSingle(QString::const_iterator &it)
{
    skipWhile(it, spaces);
    return (*it == '"') ? parseQuotes(it) : parseToken(it);
}