コード例 #1
0
ファイル: recentitemsmodel.cpp プロジェクト: Ribtoks/xpiks
    void RecentItemsModel::deserializeItems(const QString &serialized) {
        LOG_DEBUG << "#";

        QByteArray originalData;
        originalData.append(serialized.toLatin1());
        QByteArray serializedBA = QByteArray::fromBase64(originalData);

        // historical reasons to have QQueue there
        // now only thing left is to be backward compatible
        QQueue<QString> items;
        QDataStream ds(&serializedBA, QIODevice::ReadOnly);
        ds >> items;

        Q_ASSERT(m_LRUcache.size() == 0);
        for (auto it = items.rbegin(); it != items.rend(); it++) {
            m_LRUcache.put(*it, 0);
        }
        rebuild();
        emit recentItemsCountChanged();
    }