1 #ifndef __MEDIAVIEW_H__
2 #define __MEDIAVIEW_H__
6 #include <phonon/mediaobject.h>
7 #include <phonon/videowidget.h>
8 #include <phonon/seekslider.h>
10 #include "ListModel.h"
11 #include "segmentedcontrol.h"
12 #include "searchparams.h"
13 #include "playlistwidget.h"
14 #include "loadingwidget.h"
15 #include "videoareawidget.h"
21 QMap<QString, QAction*>* globalActions();
24 class MediaView : public QWidget, public View {
28 MediaView(QWidget *parent);
34 QMap<QString, QVariant> metadata() {
35 QMap<QString, QVariant> metadata;
37 metadata.insert("title", "");
38 metadata.insert("description", "");
43 void setMediaObject(Phonon::MediaObject *mediaObject);
44 void setSlider(Phonon::SeekSlider *slider) { this->seekSlider = slider; }
47 void search(SearchParams *searchParams);
56 void shareViaTwitter();
57 void shareViaFacebook();
59 void removeSelected();
60 void moveUpSelected();
61 void moveDownSelected();
62 void setPlaylistVisible(bool visible=true);
63 void saveSplitterState();
66 void findVideoParts();
70 void itemActivated(const QModelIndex &index);
71 void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
72 void activeRowChanged(int);
73 void selectVideos(QList<Video*> videos);
74 void gotStreamUrl(QUrl streamUrl);
75 void handleError(QString message);
77 void stateChanged(Phonon::State newState, Phonon::State oldState);
78 void currentSourceChanged(const Phonon::MediaSource source);
79 void showVideoContextMenu(QPoint point);
82 void searchMostRelevant();
83 void searchMostRecent();
84 void searchMostViewed();
89 void updateContinueButton(int);
92 void downloadStatusChanged();
93 void playbackFinished();
94 void playbackResume();
95 void authorPushed(QModelIndex);
98 void downloadProgress(int percent);
99 void sliderMoved(int value);
100 void seekTo(int value);
104 static QRegExp wordRE(QString s);
106 SearchParams *searchParams;
110 PlaylistWidget *playlistWidget;
111 PlaylistView *listView;
112 ListModel *listModel;
115 SegmentedControl *sortBar;
116 QAction *mostRelevantAction;
117 QAction *mostRecentAction;
118 QAction *mostViewedAction;
121 Phonon::MediaObject *mediaObject;
122 Phonon::VideoWidget *videoWidget;
123 Phonon::SeekSlider *seekSlider;
126 VideoAreaWidget *videoAreaWidget;
127 LoadingWidget *loadingWidget;
133 QTimer *workaroundTimer;
140 DownloadItem *downloadItem;
144 #endif // __MEDIAVIEW_H__