コード例 #1
0
ファイル: tst_ircbuffer.cpp プロジェクト: PopRe/PopMM-Mobile
void tst_IrcBuffer::testSticky()
{
    IrcBuffer buffer;
    QVERIFY(!buffer.isSticky());

    QSignalSpy spy(&buffer, SIGNAL(stickyChanged(bool)));
    QVERIFY(spy.isValid());

    buffer.setSticky(true);
    QVERIFY(buffer.isSticky());
    QCOMPARE(spy.count(), 1);
    QVERIFY(spy.last().last().toBool());

    buffer.setSticky(false);
    QVERIFY(!buffer.isSticky());
    QCOMPARE(spy.count(), 2);
    QVERIFY(!spy.last().last().toBool());
}
コード例 #2
0
ファイル: tst_ircbuffer.cpp プロジェクト: PopRe/PopMM-Mobile
void tst_IrcBuffer::testDefaults()
{
    IrcBuffer buffer;
    QVERIFY(buffer.title().isEmpty());
    QVERIFY(buffer.name().isEmpty());
    QVERIFY(buffer.prefix().isEmpty());
    QVERIFY(!buffer.isChannel());
    QVERIFY(!buffer.toChannel());
    QVERIFY(!buffer.connection());
    QVERIFY(!buffer.network());
    QVERIFY(!buffer.model());
    QVERIFY(!buffer.isActive());
    QVERIFY(!buffer.isSticky());
    QVERIFY(!buffer.isPersistent());
}
コード例 #3
0
bool BufferFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const
{
    if (m_status == 0 && m_filter.isEmpty())
        return true;

    QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
    IrcBuffer* buffer = index.data(Irc::BufferRole).value<IrcBuffer*>();
    if (buffer && !buffer->isSticky()) {
        if (!m_filter.isEmpty() && !buffer->title().contains(m_filter, Qt::CaseInsensitive))
            return false;
        if (m_status > 0) {
            MessageModel* model = m_storage->model(buffer);
            if (model) {
                if (m_status == 1 && model->badge() <= 0)
                    return false;
                if (m_status == 2 && model->activeHighlights() <= 0)
                    return false;
            }
        }
    }
    return true;
}