RetroShare/plugins/smplayer_plugin/findsubtitles/findsubtitleswindow.h
defnax 87344de7d4 added for plugins own dir
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-11-28 14:21:11 +00:00

124 lines
3.1 KiB
C++

/* smplayer, GUI front-end for mplayer.
Copyright (C) 2006-2008 Ricardo Villalba <rvm@escomposlinux.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef _FINDSUBTITLESWINDOW_H_
#define _FINDSUBTITLESWINDOW_H_
#include "ui_findsubtitleswindow.h"
#include <QNetworkProxy>
class SimpleHttp;
class QStandardItemModel;
class QSortFilterProxyModel;
class QModelIndex;
class QMenu;
class QAction;
class QSettings;
#ifdef DOWNLOAD_SUBS
class FileDownloader;
class QBuffer;
class QuaZip;
#endif
class FindSubtitlesWindow : public QDialog, public Ui::FindSubtitlesWindow
{
Q_OBJECT
public:
FindSubtitlesWindow( QWidget * parent = 0, Qt::WindowFlags f = 0 );
~FindSubtitlesWindow();
void setProxy(QNetworkProxy proxy);
QString language();
#ifdef DOWNLOAD_SUBS
bool includeLangOnFilename() { return include_lang_on_filename; };
#endif
void setSettings(QSettings * settings);
QSettings * settings() { return set; };
public slots:
void setMovie(QString filename);
void setLanguage(const QString & lang);
void refresh();
void download();
void copyLink();
#ifdef DOWNLOAD_SUBS
void setIncludeLangOnFilename(bool b) { include_lang_on_filename = b; };
#endif
protected slots:
void applyFilter(const QString & filter);
void applyCurrentFilter();
void showError(QString error);
void connecting(QString host);
void updateDataReadProgress(int done, int total);
void downloadFinished();
void updateRefreshButton();
void parseInfo(QByteArray xml_text);
void itemActivated(const QModelIndex & index );
void currentItemChanged(const QModelIndex & current, const QModelIndex & previous);
void showContextMenu(const QPoint & pos);
#ifdef DOWNLOAD_SUBS
void archiveDownloaded(const QByteArray & buffer);
#endif
protected:
virtual void retranslateStrings();
virtual void changeEvent(QEvent * event);
void saveSettings();
void loadSettings();
#ifdef DOWNLOAD_SUBS
signals:
void subtitleDownloaded(const QString & filename);
protected:
bool uncompressZip(const QString & filename, const QString & output_path, const QString & preferred_output_name);
bool extractFile(QuaZip & zip, const QString & filename, const QString & output_name);
#endif
protected:
SimpleHttp * downloader;
QStandardItemModel * table;
QSortFilterProxyModel * proxy_model;
QString last_file;
QMenu * context_menu;
QAction * downloadAct;
QAction * copyLinkAct;
#ifdef DOWNLOAD_SUBS
FileDownloader * file_downloader;
bool include_lang_on_filename;
#endif
QSettings * set;
};
#endif