1 #ifndef __MEDIAVIEW_H__
2 #define __MEDIAVIEW_H__
6 #include <phonon/mediaobject.h>
7 #include <phonon/videowidget.h>
10 #include "segmentedcontrol.h"
11 #include "searchparams.h"
12 #include "playlistwidget.h"
13 #include "loadingwidget.h"
14 #include "videoareawidget.h"
20 QMap<QString, QAction*>* globalActions();
23 class MediaView : public QWidget, public View {
27 MediaView(QWidget *parent);
33 QMap<QString, QVariant> metadata() {
34 QMap<QString, QVariant> metadata;
36 metadata.insert("title", "");
37 metadata.insert("description", "");
42 void setMediaObject(Phonon::MediaObject *mediaObject);
43 void setSlider(QSlider *slider);
46 void search(SearchParams *searchParams);
55 void shareViaTwitter();
56 void shareViaFacebook();
58 void removeSelected();
59 void moveUpSelected();
60 void moveDownSelected();
61 void setPlaylistVisible(bool visible=true);
62 void saveSplitterState();
65 void findVideoParts();
69 void itemActivated(const QModelIndex &index);
70 void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
71 void activeRowChanged(int);
72 void selectVideos(QList<Video*> videos);
73 void gotStreamUrl(QUrl streamUrl);
74 void handleError(QString message);
76 void stateChanged(Phonon::State newState, Phonon::State oldState);
77 void currentSourceChanged(const Phonon::MediaSource source);
78 void showVideoContextMenu(QPoint point);
80 void searchMostRelevant();
81 void searchMostRecent();
82 void searchMostViewed();
87 void updateContinueButton(int);
90 void downloadStatusChanged();
91 void playbackFinished();
92 void playbackResume();
93 void authorPushed(QModelIndex);
96 void downloadProgress(int percent);
97 void sliderMoved(int value);
98 void seekTo(int value);
102 static QRegExp wordRE(QString s);
104 SearchParams *searchParams;
108 PlaylistWidget *playlistWidget;
109 PlaylistView *listView;
110 ListModel *listModel;
113 SegmentedControl *sortBar;
114 QAction *mostRelevantAction;
115 QAction *mostRecentAction;
116 QAction *mostViewedAction;
119 Phonon::MediaObject *mediaObject;
120 Phonon::VideoWidget *videoWidget;
123 VideoAreaWidget *videoAreaWidget;
124 LoadingWidget *loadingWidget;
130 QTimer *workaroundTimer;
137 DownloadItem *downloadItem;
141 #endif // __MEDIAVIEW_H__