]> git.sur5r.net Git - minitube/blobdiff - src/MediaView.h
Upload 1.9-1 to unstable
[minitube] / src / MediaView.h
index 7a19d68d58aa897eb716a07bf9cab62a8c01f1b4..9d30c5017dc7c3a7d5287e510f5de34bfcfba059 100644 (file)
@@ -5,14 +5,18 @@
 #include <QtNetwork>
 #include <phonon/mediaobject.h>
 #include <phonon/videowidget.h>
+#include <phonon/seekslider.h>
 #include "View.h"
 #include "ListModel.h"
-#include "thlibrary/thblackbar.h"
+#include "segmentedcontrol.h"
 #include "searchparams.h"
-#include "playlistwidget.h"
 #include "loadingwidget.h"
 #include "videoareawidget.h"
 
+class DownloadItem;
+class PlaylistView;
+class SidebarWidget;
+
 namespace The {
     QMap<QString, QAction*>* globalActions();
 }
@@ -25,37 +29,44 @@ public:
     void initialize();
 
     // View
-    void appear() {
-        listView->setFocus();
-    }
+    void appear();
     void disappear();
     QMap<QString, QVariant> metadata() {
         QMap<QString, QVariant> metadata;
         if (searchParams) {
-            metadata.insert("title", searchParams->keywords());
-            metadata.insert("description", tr("You're watching \"%1\"").arg(searchParams->keywords()));
+            metadata.insert("title", "");
+            metadata.insert("description", "");
         }
         return metadata;
     }
 
     void setMediaObject(Phonon::MediaObject *mediaObject);
+    void setSlider(Phonon::SeekSlider *slider) { this->seekSlider = slider; }
 
 public slots:
     void search(SearchParams *searchParams);
     void pause();
     void stop();
     void skip();
+    void skipBackward();
     void skipVideo();
     void openWebPage();
     void copyWebPage();
     void copyVideoLink();
+    void shareViaTwitter();
+    void shareViaFacebook();
+    void shareViaBuffer();
+    void shareViaEmail();
     void removeSelected();
     void moveUpSelected();
     void moveDownSelected();
+    bool isPlaylistVisible();
     void setPlaylistVisible(bool visible=true);
     void saveSplitterState();
     void downloadVideo();
+    void snapshot();
     void fullscreen();
+    void findVideoParts();
 
 private slots:
     // list/model
@@ -69,6 +80,7 @@ private slots:
     void stateChanged(Phonon::State newState, Phonon::State oldState);
     void currentSourceChanged(const Phonon::MediaSource source);
     void showVideoContextMenu(QPoint point);
+    void aboutToFinish();
     // bar
     void searchMostRelevant();
     void searchMostRecent();
@@ -77,20 +89,34 @@ private slots:
     void timerPlay();
 #ifdef APP_DEMO
     void demoMessage();
+    void updateContinueButton(int);
 #endif
+    void startPlaying();
+    void downloadStatusChanged();
+    void playbackFinished();
+    void playbackResume();
+    void authorPushed(QModelIndex);
+    void searchAgain();
+
+    /*
+    void downloadProgress(int percent);
+    void sliderMoved(int value);
+    void seekTo(int value);
+    */
 
 private:
+    static QRegExp wordRE(QString s);
 
     SearchParams *searchParams;
 
     QSplitter *splitter;
 
-    PlaylistWidget *playlistWidget;
-    QListView *listView;
+    SidebarWidget *sidebar;
+    PlaylistView *listView;
     ListModel *listModel;
 
     // sortBar
-    THBlackBar *sortBar;
+    SegmentedControl *sortBar;
     QAction *mostRelevantAction;
     QAction *mostRecentAction;
     QAction *mostViewedAction;
@@ -98,6 +124,7 @@ private:
     // phonon
     Phonon::MediaObject *mediaObject;
     Phonon::VideoWidget *videoWidget;
+    Phonon::SeekSlider *seekSlider;
 
     // loadingWidget
     VideoAreaWidget *videoAreaWidget;
@@ -114,6 +141,8 @@ private:
     QTimer *demoTimer;
 #endif
 
+    DownloadItem *downloadItem;
+
 };
 
 #endif // __MEDIAVIEW_H__