Exemplo n.º 1
0
void Session::Request::fetchProfileData() {
//    QNetworkRequest request = createRequest(ProfileDataUrl());
//    QNetworkReply *r = _manager->get(request);
//    connect(r, &QNetworkReply::finished, this, &Session::Request::Request::onProfileData);

    QJsonObject object;
    object.insert("name", "Novynn_GGG");
    object.insert("avatar_url", "");
    object.insert("messages", 0);
    object.insert("badges", QJsonArray());

    _accountName = object.value("name").toString();

    QJsonDocument temp(object);
    emit profileData(temp.toJson());
}
Exemplo n.º 2
0
bool ImageWindow::GetICCProfile( ICCProfile& profile ) const
{
   profile.Clear();

   size_type profileSize = (*API->ImageWindow->GetImageWindowICCProfileLength)( handle );
   if ( profileSize == 0 )
      return false;

   try
   {
      ByteArray profileData( profileSize );
      (*API->ImageWindow->GetImageWindowICCProfile)( handle, profileData.Begin() );
      profile.Set( profileData );
      return true;
   }
   ERROR_HANDLER

   return false;
}
Exemplo n.º 3
0
void Session::Request::onAccountPageResult() {
    QNetworkReply *reply = qobject_cast<QNetworkReply*>(QObject::sender());
    if (reply->error()) {
        qDebug() << "Network error in " << __FUNCTION__ << ": " << reply->errorString();
    }
    else {
        // Regexp for getting last visited, guild, etc
        // <strong>(?<attr>.+?):<\/strong><br\/>\s+?(<a href=\"(?<url>.+?)\">(?<content1>.+?)<\/a>|\s+(?<content2>[A-Za-z0-9 ]+?)\s+<\/p>)


        const QByteArray data = reply->readAll();
        const QString avatar = getAccountAvatar(data);
        const QString name = getAccountName(data);
        const auto badges = getAccountBadges(data);
        const int messages = getAccountMessagesUnread(data);

        // Store the account name
        _accountName = name;

        QJsonObject object;
        object.insert("name", name);
        object.insert("avatar_url", avatar);
        object.insert("messages", messages);
        object.insert("badges", QJsonArray::fromStringList(badges.keys()));
        QJsonDocument temp(object);
        emit profileData(temp.toJson());

        // Request Avatar
        if (!avatar.isEmpty()) {
            if (!_avatars.contains(avatar))
                _avatars.append(avatar);
            fetchImage(avatar);
        }
        // Request Badges
        for (const QString &key : badges.uniqueKeys()){
            const QString url = badges.value(key);
            if (url.isEmpty()) continue;
            fetchAccountBadge(key, url);
        }
    }
    reply->deleteLater();
}