UrlSearchProvider::UrlSearchProvider(Application* app, QObject* parent)
    : SearchProvider(app, parent), url_regex_(kUrlRegex) {
  QIcon icon = IconLoader::Load("applications-internet", IconLoader::Base);
  image_ = ScaleAndPad(icon.pixmap(kArtHeight, kArtHeight).toImage());

  Init("URL", "url", icon, MimeDataContainsUrlsOnly);
}
Esempio n. 2
0
RedditModel::RedditModel(const QStringList& reddits, Application* app,
                         QObject* parent)
  : QAbstractItemModel(parent),
    app_(app),
    reddits_(reddits),
    no_image_(QPixmap::fromImage(ScaleAndPad(QImage(":/noimage.png")))),
    network_(new NetworkAccessManager(this)),
    is_fetching_more_(false),
    no_more_links_(false),
    show_self_posts_(false),
    show_viewed_images_(false),
    preload_next_(kDefaultPreloadNext),
    max_preloaded_pages_(kDefaultMaxPreloadedPages)
{
  // Read the user's cookie
  QSettings s;
  s.beginGroup(kSettingsGroup);
  const QString cookie = s.value("cookie").toString();

  if (cookie.isEmpty()) {
    // Not-logged in users are only allowed to get one subreddit.
    while (reddits_.size() > 1) {
      reddits_.removeLast();
    }
  } else {
    network_->cookieJar()->setCookiesFromUrl(
          QList<QNetworkCookie>() << QNetworkCookie(kCookieName, cookie.toAscii()),
          QUrl(kUrlForCookies));
  }

  connect(app_, SIGNAL(SettingsChanged()), SLOT(ReloadSettings()));
  ReloadSettings();
}
Esempio n. 3
0
void SpotifySearchProvider::ArtLoadedSlot(const QString& id, const QImage& image) {
  QMap<QString, int>::iterator it = pending_art_.find(id);
  if (it == pending_art_.end())
    return;

  const int orig_id = it.value();
  pending_art_.erase(it);

  emit ArtLoaded(orig_id, ScaleAndPad(image));
}
IntergalacticFMSearchProvider::IntergalacticFMSearchProvider(
    IntergalacticFMServiceBase* service, Application* app, QObject* parent)
    : SimpleSearchProvider(app, parent), service_(service) {
  Init(service->name(), service->url_scheme(), service->icon(),
       CanGiveSuggestions);
  set_result_limit(3);
  set_max_suggestion_count(3);
  icon_ = ScaleAndPad(
      service->icon().pixmap(service->icon().availableSizes()[0]).toImage());

  connect(service, SIGNAL(StreamsChanged()), SLOT(MaybeRecreateItems()));

  // Load the stream list on startup only if it doesn't involve going to update
  // info from the server.
  if (!service_->IsStreamListStale()) RecreateItems();
}
Esempio n. 5
0
LastFMSearchProvider::LastFMSearchProvider(LastFMService* service,
                                           Application* app, QObject* parent)
  : SimpleSearchProvider(app, parent),
    service_(service) {
  Init("Last.fm", "lastfm", QIcon(":last.fm/as.png"),
       CanShowConfig | CanGiveSuggestions);
  icon_ = ScaleAndPad(QImage(":last.fm/as.png"));

  set_safe_words(QStringList() << "lastfm" << "last.fm");

  connect(service, SIGNAL(SavedItemsChanged()), SLOT(MaybeRecreateItems()));

  // Load the friends list on startup only if it doesn't involve going to update
  // info from the server.
  if (!service_->IsFriendsListStale())
    RecreateItems();
}