Ignore:
Timestamp:
May 27, 2013, 3:28:05 PM (12 years ago)
Author:
Silvan Scherrer
Message:

SMPlayer: update trunk to 0.8.5

Location:
smplayer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • smplayer/trunk

  • smplayer/trunk/src/findsubtitles/findsubtitleswindow.cpp

    r132 r142  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2012 Ricardo Villalba <rvm@users.sourceforge.net>
     2    Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    1919#include "findsubtitleswindow.h"
    2020#include "findsubtitlesconfigdialog.h"
    21 #include "simplehttp.h"
    22 #include "osparser.h"
     21
     22#include "osclient.h"
    2323#include "filehash.h"
    2424#include "languages.h"
     
    111111            this, SLOT(showContextMenu(const QPoint &)) );
    112112
     113        /*
    113114        downloader = new SimpleHttp(this);
    114115
     
    126127        connect( downloader, SIGNAL(dataReadProgress(int, int)),
    127128             this, SLOT(updateDataReadProgress(int, int)) );
     129        */
     130
     131        osclient = new OSClient();
     132        connect( osclient, SIGNAL(searchFinished()), this, SLOT(downloadFinished()) );
     133        connect( osclient, SIGNAL(searchFinished()), this, SLOT(parseInfo()) );
     134        connect( osclient, SIGNAL(loginFailed()), this, SLOT(showLoginFailed()) );
     135        connect( osclient, SIGNAL(searchFailed()), this, SLOT(showSearchFailed()) );
    128136
    129137#ifdef DOWNLOAD_SUBS
     
    158166
    159167        // Opensubtitles server
    160         os_server = "http://www.opensubtitles.org";
     168        /* os_server = "http://www.opensubtitles.org"; */
     169        os_server = "http://api.opensubtitles.org/xml-rpc";
     170        osclient->setServer(os_server);
    161171
    162172        // Proxy
     
    182192
    183193void FindSubtitlesWindow::setProxy(QNetworkProxy proxy) {
     194        /*
    184195        downloader->abort();
    185196        downloader->setProxy(proxy);
     197        */
     198        osclient->setProxy(proxy);
    186199
    187200#ifdef DOWNLOAD_SUBS
     
    269282                qWarning("FindSubtitlesWindow::setMovie: hash invalid. Doing nothing.");
    270283        } else {
    271                 QString link = os_server + "/search/sublanguageid-all/moviehash-" + hash + "/simplexml";
    272                 qDebug("FindSubtitlesWindow::setMovie: link: '%s'", link.toLatin1().constData());
    273                 downloader->download(link);
     284                qint64 file_size = QFileInfo(filename).size();
     285                osclient->search(hash, file_size);
    274286                last_file = filename;
    275287        }
     
    282294
    283295void FindSubtitlesWindow::updateRefreshButton() {
    284         qDebug("FindSubtitlesWindow::updateRefreshButton: state: %d", downloader->state());
    285 /*
    286         QString file = file_chooser->lineEdit()->text();
    287         bool enabled = ( (!file.isEmpty()) && (QFile::exists(file)) &&
    288                      (downloader->state()==QHttp::Unconnected) );
    289         refresh_button->setEnabled(enabled);
    290 */
     296        qDebug("FindSubtitlesWindow::updateRefreshButton:");
    291297        refresh_button->setEnabled(true);
    292298}
     
    332338}
    333339
     340void FindSubtitlesWindow::showLoginFailed() {
     341        status->setText( tr("Login to opensubtitles.org has failed") );
     342}
     343
     344void FindSubtitlesWindow::showSearchFailed() {
     345        status->setText( tr("Search has failed") );
     346}
     347
    334348void FindSubtitlesWindow::updateDataReadProgress(int done, int total) {
    335349        qDebug("FindSubtitlesWindow::updateDataReadProgress: %d, %d", done, total);
     
    349363}
    350364
    351 void FindSubtitlesWindow::parseInfo(QByteArray xml_text) {
    352         OSParser osparser;
    353         bool ok = osparser.parseXml(xml_text);
     365void FindSubtitlesWindow::parseInfo() {
     366        bool ok = true;
    354367
    355368        table->setRowCount(0);
     
    358371
    359372        if (ok) {
    360                 QList<OSSubtitle> l = osparser.subtitleList();
     373                QList<OSSubtitle> l = osclient->subtitleList();
    361374                for (int n=0; n < l.count(); n++) {
    362375
     
    655668                proxy_type = d.proxyType();
    656669
     670                osclient->setServer(os_server);
    657671                setupProxy();
    658672        }
     
    686700        set->beginGroup("findsubtitles");
    687701
    688         set->setValue("server", os_server);
     702        set->setValue("xmlrpc_server", os_server);
    689703        set->setValue("language", language());
    690704#ifdef DOWNLOAD_SUBS
     
    706720        set->beginGroup("findsubtitles");
    707721
    708         os_server = set->value("server", os_server).toString();
     722        os_server = set->value("xmlrpc_server", os_server).toString();
    709723        setLanguage( set->value("language", language()).toString() );
    710724#ifdef DOWNLOAD_SUBS
Note: See TracChangeset for help on using the changeset viewer.