]> git.sur5r.net Git - minitube/commitdiff
Imported Upstream version 2.5.1 upstream/2.5.1
authorJakob Haufe <sur5r@sur5r.net>
Sat, 5 Dec 2015 15:09:01 +0000 (16:09 +0100)
committerJakob Haufe <sur5r@sur5r.net>
Sat, 5 Dec 2015 15:09:01 +0000 (16:09 +0100)
196 files changed:
CHANGES
README.md
TODO
empty.ts
images/app@2x.png [new file with mode: 0644]
images/badge3@2x.png [new file with mode: 0644]
images/badge4@2x.png [new file with mode: 0644]
images/badge@2x.png [new file with mode: 0644]
images/channels@2x.png [new file with mode: 0644]
images/mark-watched@2x.png [new file with mode: 0644]
images/refine-search.png
images/refine-search@2x.png [new file with mode: 0644]
images/search-duration@2x.png [new file with mode: 0644]
images/search-quality@2x.png [new file with mode: 0644]
images/search-sortBy@2x.png [new file with mode: 0644]
images/search-time@2x.png [new file with mode: 0644]
images/show-updated.png
images/show-updated@2x.png [new file with mode: 0644]
images/sort@2x.png [new file with mode: 0644]
images/unwatched@2x.png [new file with mode: 0644]
images/worldwide@2x.png [new file with mode: 0644]
locale/ar.ts
locale/ast.ts
locale/be.ts
locale/bg_BG.ts
locale/ca.ts
locale/ca_ES.ts
locale/cs_CZ.ts
locale/da.ts
locale/de_DE.ts
locale/el.ts
locale/en.ts
locale/es.ts
locale/es_AR.ts
locale/es_ES.ts
locale/es_MX.ts
locale/fi.ts
locale/fi_FI.ts
locale/fr.ts
locale/gl.ts
locale/he_IL.ts
locale/hr.ts
locale/hu.ts
locale/ia.ts
locale/id.ts
locale/it.ts
locale/ja_JP.ts
locale/ko_KR.ts
locale/ky.ts
locale/locale.pri
locale/ms_MY.ts
locale/nb.ts
locale/nl.ts
locale/nn.ts
locale/pl.ts
locale/pl_PL.ts
locale/pt.ts
locale/pt_BR.ts
locale/ro.ts
locale/ru.ts
locale/sk.ts
locale/sl.ts
locale/sq.ts
locale/sv_SE.ts
locale/th.ts
locale/tr.ts
locale/uk.ts
locale/uk_UA.ts
locale/vi.ts
locale/zh_CN.ts
locale/zh_TW.ts
minitube.pro
resources.qrc
src/aboutview.cpp
src/aboutview.h
src/aggregatevideosource.cpp
src/aggregatevideosource.h
src/autocomplete.cpp
src/autocomplete.h
src/channelaggregator.cpp
src/channelaggregator.h
src/channelitemdelegate.cpp
src/channellistview.cpp [new file with mode: 0644]
src/channellistview.h [new file with mode: 0644]
src/channelsuggest.cpp
src/channelview.cpp
src/channelview.h
src/compatibility/pathsservice.cpp [new file with mode: 0644]
src/compatibility/pathsservice.h [new file with mode: 0644]
src/compatibility/qurlqueryhelper.h [new file with mode: 0644]
src/database.cpp
src/database.h
src/datautils.cpp
src/datautils.h
src/diskcache.cpp
src/downloadlistview.cpp
src/downloadmanager.cpp
src/downloadmodel.h
src/downloadsettings.cpp
src/downloadview.cpp
src/downloadview.h
src/exlineedit.cpp [new file with mode: 0644]
src/exlineedit.h [new file with mode: 0644]
src/fontutils.cpp
src/fontutils.h
src/global.h
src/homeview.cpp
src/homeview.h
src/iconloader/qticonloader.cpp [deleted file]
src/iconutils.cpp
src/iconutils.h
src/jsfunctions.cpp
src/loadingwidget.cpp
src/loadingwidget.h
src/main.cpp
src/mainwindow.cpp
src/mainwindow.h
src/mediaview.cpp
src/mediaview.h
src/networkaccess.cpp
src/paginatedvideosource.cpp
src/paginatedvideosource.h
src/painterutils.cpp
src/painterutils.h
src/playlistitemdelegate.cpp
src/playlistitemdelegate.h
src/playlistmodel.cpp
src/playlistmodel.h
src/playlistview.cpp
src/playlistview.h
src/qtsingleapplication/QtLockedFile [changed mode: 0644->0755]
src/qtsingleapplication/QtSingleApplication [changed mode: 0644->0755]
src/qtsingleapplication/qtlocalpeer.cpp [changed mode: 0644->0755]
src/qtsingleapplication/qtlocalpeer.h [changed mode: 0644->0755]
src/qtsingleapplication/qtlockedfile.cpp [changed mode: 0644->0755]
src/qtsingleapplication/qtlockedfile.h [changed mode: 0644->0755]
src/qtsingleapplication/qtlockedfile_unix.cpp [changed mode: 0644->0755]
src/qtsingleapplication/qtlockedfile_win.cpp [changed mode: 0644->0755]
src/qtsingleapplication/qtsingleapplication.cpp [changed mode: 0644->0755]
src/qtsingleapplication/qtsingleapplication.h [changed mode: 0644->0755]
src/qtsingleapplication/qtsingleapplication.pri [changed mode: 0644->0755]
src/qtsingleapplication/qtsinglecoreapplication.cpp [changed mode: 0644->0755]
src/qtsingleapplication/qtsinglecoreapplication.h [changed mode: 0644->0755]
src/qtsingleapplication/qtsinglecoreapplication.pri [changed mode: 0644->0755]
src/refinesearchbutton.cpp
src/refinesearchwidget.cpp
src/refinesearchwidget.h
src/regionsview.cpp
src/regionsview.h
src/searchlineedit.cpp
src/searchlineedit.h
src/searchparams.cpp
src/searchparams.h
src/searchview.cpp
src/searchview.h
src/searchwidget.h [new file with mode: 0644]
src/segmentedcontrol.cpp
src/segmentedcontrol.h
src/sidebarheader.cpp
src/sidebarheader.h
src/sidebarwidget.cpp
src/sidebarwidget.h
src/snapshotpreview.cpp
src/snapshotsettings.cpp
src/standardfeedsview.cpp
src/standardfeedsview.h
src/temporary.cpp
src/updatechecker.cpp
src/urllineedit.cpp [deleted file]
src/urllineedit.h [deleted file]
src/video.cpp
src/video.h
src/videoareawidget.cpp
src/videoareawidget.h
src/videodefinition.cpp
src/videodefinition.h
src/videomimedata.h
src/videosource.cpp
src/videosource.h
src/videosourcewidget.cpp
src/videosourcewidget.h
src/view.h
src/yt3.cpp
src/yt3listparser.cpp
src/ytcategories.cpp
src/ytchannel.cpp
src/ytchannel.h
src/ytregions.cpp
src/ytregions.h
src/ytsearch.cpp
src/ytsearch.h
src/ytsinglevideosource.cpp
src/ytsinglevideosource.h
src/ytstandardfeed.cpp
src/ytstandardfeed.h
style.css

diff --git a/CHANGES b/CHANGES
index 49ec395f98bebcdfbfceb11ee3e908f8ee1880d6..1b5a982fe6dede42122d6d27f69edf797666b673 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,17 @@
+2.5
+- Upgraded to Qt 5
+- HiDPI (aka Retina Display) support
+- Mac style overhaul: new toolbar, lighter fonts & tabs
+- Reworked icons on Mac & Windows
+- Status Bar hidden when not needed: less clutter, more room for videos
+- Clickable links in video description
+- Autoadjust window size (Bye, useless black bars!)
+- Smart date formatting: 3 hours ago, 1 month ago, etc.
+- When opening the YouTube webpage the video now starts from where it left in Minitube
+- Fixed videos restarting after long pause
+- Dropped support for OS X 10.6
+- New and updated translations
+
 2.4
 - Now using YouTube APIs version 3
 - Now using HTTPS everywhere for better privacy and security
index 0d8ac19c9255221eeddc80e19fe420bcb66aa69a..494268da4c173a201d0fed14be66e19a0cbb96b9 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,19 +1,11 @@
 # Minitube
 Minitube is a YouTube desktop application. It is written in C++ using the Qt framework. Contributing is welcome, especially in the Linux desktop integration area.
 
-## Traslating Minitube to your language
-Minitube translations are done at https://www.transifex.com/projects/p/minitube/
+## Translating Minitube to your language
+Translations are done at https://www.transifex.com/projects/p/minitube/
 Just register and apply for a language team. Please don't request translation merges on GitHub.
 
-## Building
-To compile Minitube you need at least Qt 4.8. The following Qt modules are needed:
-core, gui, network, sql (using the Sqlite plugin), script, dbus, phonon
-
-On a Debian or Ubuntu system, type:
-
-    $ sudo apt-get install build-essential qt4-dev-tools libphonon-dev
-
-### Google API Key
+## Google API Key
 
 Google is now requiring an API key in order to access YouTube Data web services.
 Create a "Browser Key" at https://console.developers.google.com
@@ -21,22 +13,26 @@ Create a "Browser Key" at https://console.developers.google.com
 The key must be specified at compile time as shown below.
 Alternatively Minitube can read an API key from the GOOGLE_API_KEY environment variable.
 
-### Compiling
-Run:
+## Build instructions
+To compile Minitube you need at least Qt 5.0. The following Qt modules are needed:
+core, gui, widgets, network, sql (using the Sqlite plugin), script, dbus.
 
-    $ qmake -DAPP_GOOGLE_API_KEY="YouAPIKeyHere"
+To be able to build on a Debian (or derivative) system:
 
-and then:
+    $ sudo apt-get install build-essential qttools5-dev-tools qt5-qmake qtscript5-dev libphonon4qt5-dev libqt5sql5-sqlite qt5-default
 
+Compiling:
+
+    $ qmake "DEFINES += APP_GOOGLE_API_KEY=YourAPIKeyHere"
     $ make
 
-Beware of the Qt3 or Qt5 version of qmake! If things go wrong try running qmake-qt4 instead.
+Beware of the Qt 4 version of qmake!
 
-### Running
+Running:
 
-       $ ./build/target/minitube
+       $ build/target/minitube
        
-### Installing on Linux
+Installing on Linux:
 
     $ sudo make install
 
@@ -44,10 +40,7 @@ This is for packagers. End users should not install applications in this way.
 
 ## A word about Phonon on Linux
 To be able to actually watch videos you need a working Phonon setup.
-Please don't contact me about this, ask for help on your distribution support channels.
-
-These days Minitube is tested with the VLC backend only.
-Please don't report bugs with other backends as they're not supported.
+Please don't report bugs about this, ask for help on your distribution support channels.
 
 ## Legal Stuff
 Copyright (C) Flavio Tordini
diff --git a/TODO b/TODO
index 6d26b32dd0ae1aa0ee5e707308c7296c1efb3a6c..a3246dc2b3baf53b5183ce0f2bd397c60c42704b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,28 +1,18 @@
 # Minitube to do list
 
 ## Major features
-
-- Snapshots (Cannot be done with Phonon)
-
-- Channel subscriptions
-
 - Favorite videos
-
 - Info view
-    Displays video metadata. Could be somewhat linked with related videos...
-
 - Subtitles, see http://google2srt.sourceforge.net/
 
 ## Minor Features
-- Search for playlists http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Searching_for_Playlists
+- Search for playlists
 - Safe search levels (in the status bar beside the video definition option)
 - Show more thumbs on hover with animated crossfade
 - Accept any URL and scrape web pages searching for YouTube videos.
+- Blacklist channels
 
 ## Unsure features
 - Restore status when a recent keyword is clicked: skipped videos, sortBar and play time
 - Add menu entries for Most relevant, Most recent, Most viewed (Playlist => ...)
 - Saved playlists
-
-## Phonon bugs
-- Phonon::MediaSource does not work with QIODevices (this needs to work to implement seeking)
index 69dcbe633dc6aa23207e853fe77bd8aafe89ec67..949d592d53ba4213ebc5fc4e3efa10827f01b28b 100644 (file)
--- a/empty.ts
+++ b/empty.ts
@@ -1,66 +1,65 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<TS version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation type="unfinished"></translation>
     </message>
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished">
-            <numerusform></numerusform>
+            <numerusform></numerusform><numerusform></numerusform>
         </translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"></translation>
     </message>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished">
+            <numerusform></numerusform><numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished">
+            <numerusform></numerusform><numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished">
+            <numerusform></numerusform><numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished">
+            <numerusform></numerusform><numerusform></numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished">
+            <numerusform></numerusform><numerusform></numerusform>
+        </translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished">
-            <numerusform></numerusform>
+            <numerusform></numerusform><numerusform></numerusform>
         </translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation type="unfinished"></translation>
     </message>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in &apos;2 of 3&apos;</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in &apos;Cool video - part 1&apos;</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in &apos;Cool series - episode 1&apos;</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation type="unfinished"></translation>
     </message>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation type="unfinished"></translation>
     </message>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/images/app@2x.png b/images/app@2x.png
new file mode 100644 (file)
index 0000000..38c2c30
Binary files /dev/null and b/images/app@2x.png differ
diff --git a/images/badge3@2x.png b/images/badge3@2x.png
new file mode 100644 (file)
index 0000000..f516a47
Binary files /dev/null and b/images/badge3@2x.png differ
diff --git a/images/badge4@2x.png b/images/badge4@2x.png
new file mode 100644 (file)
index 0000000..4511b45
Binary files /dev/null and b/images/badge4@2x.png differ
diff --git a/images/badge@2x.png b/images/badge@2x.png
new file mode 100644 (file)
index 0000000..2ae172e
Binary files /dev/null and b/images/badge@2x.png differ
diff --git a/images/channels@2x.png b/images/channels@2x.png
new file mode 100644 (file)
index 0000000..abba86b
Binary files /dev/null and b/images/channels@2x.png differ
diff --git a/images/mark-watched@2x.png b/images/mark-watched@2x.png
new file mode 100644 (file)
index 0000000..73f8fb4
Binary files /dev/null and b/images/mark-watched@2x.png differ
index ea2cd3eca065b49ed4a16a7046e9874302f2123b..dd977aa7a6507e3389b1a40e8af0fda6114f547b 100644 (file)
Binary files a/images/refine-search.png and b/images/refine-search.png differ
diff --git a/images/refine-search@2x.png b/images/refine-search@2x.png
new file mode 100644 (file)
index 0000000..37340a5
Binary files /dev/null and b/images/refine-search@2x.png differ
diff --git a/images/search-duration@2x.png b/images/search-duration@2x.png
new file mode 100644 (file)
index 0000000..daef48d
Binary files /dev/null and b/images/search-duration@2x.png differ
diff --git a/images/search-quality@2x.png b/images/search-quality@2x.png
new file mode 100644 (file)
index 0000000..3035153
Binary files /dev/null and b/images/search-quality@2x.png differ
diff --git a/images/search-sortBy@2x.png b/images/search-sortBy@2x.png
new file mode 100644 (file)
index 0000000..235200c
Binary files /dev/null and b/images/search-sortBy@2x.png differ
diff --git a/images/search-time@2x.png b/images/search-time@2x.png
new file mode 100644 (file)
index 0000000..aeaaa21
Binary files /dev/null and b/images/search-time@2x.png differ
index 732c556f34d6f8d2440ce7b9831ac0de47c789aa..9af84f2609fa2bc50c04971acdf01bd3f6458121 100644 (file)
Binary files a/images/show-updated.png and b/images/show-updated.png differ
diff --git a/images/show-updated@2x.png b/images/show-updated@2x.png
new file mode 100644 (file)
index 0000000..7f0b807
Binary files /dev/null and b/images/show-updated@2x.png differ
diff --git a/images/sort@2x.png b/images/sort@2x.png
new file mode 100644 (file)
index 0000000..7475325
Binary files /dev/null and b/images/sort@2x.png differ
diff --git a/images/unwatched@2x.png b/images/unwatched@2x.png
new file mode 100644 (file)
index 0000000..573c25e
Binary files /dev/null and b/images/unwatched@2x.png differ
diff --git a/images/worldwide@2x.png b/images/worldwide@2x.png
new file mode 100644 (file)
index 0000000..2393b38
Binary files /dev/null and b/images/worldwide@2x.png differ
index 83c5a1c0645cebf43c2186c52d698c00727709f3..026700f9ffe2ff517210925623a233cb88783400 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ar" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ar" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>هناك حياة خارج المتصفح!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>النسخة %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>مرخّص لـ: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 هو برنامج مجاني و لكن برمجته تستهلك وقتا ثمينا.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>‎الرجاء &lt;a href=&apos;%1&apos;&gt;التبرع&lt;/a&gt; لمتابعة تطوير  %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>قد ترغب في تجريب برامجي الأخرى أيضا</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1، قارئ موسيقى على اليوتيوب</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1، قارئ موسيقى</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>ترجم %1 إلى لغتك الأم بإستعمال %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>صمم الايقونة %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>نشر هذا البرنامج تحت رخصة  &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;اقفل</translation>
     </message>
         <source>About</source>
         <translation>عن البرنامج</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>ما اردت معرفته عن %1 و لم تستطع ان تسأل</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>بواسطة %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation><numerusform>لا يوجد ملفات فيديو جديدة</numerusform><numerusform>لديك ملف فيديو جديد</numerusform><numerusform>لديك ملفي فيديو جديدين</numerusform><numerusform>لديك %n فيديو جديد</numerusform><numerusform>لديك %n فيديو جديد</numerusform><numerusform>لديك %n فيديو جديد</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>جميع الفيديوهات</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>فيديوهات لم تتم مشاهدتها</translation>
     </message>
         <translation>ترتيب بـ</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>جميع الفيديوهات</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>فيديوهات لم تتم مشاهدتها</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>علّمها كمُشاهدة</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>ألغِ الاشتراك</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>لا يوجد تحديثات لقوائم اشتراكاتك حاليًا</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>لا يوجد لديك اشتراكات. استخدم رمز النجمة للإشتراك في القنوات.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>مسح</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>الآن</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>يمكن تحميل الفيديو في أقل من %1  دقيقة بحيث يمكنك اختبار وظيفة التحميل.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>متابعة</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>احصل على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 حمل في %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>انتهي التحميل</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform><numerusform>التحميل %n</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>تغيير الموقع...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>اختر موقع التحميل</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>موقع التحميل تغير.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>التحميل سيتم في الموقع السابق.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>التحميل الى:%1</translation>
     </message>
         <translation>يتم الآن تحميل التحديث</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>خروج</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>إعادة التثبيت</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>اشتراكات القنوات</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>اجعل نفسك مرتاحا</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>خطأ</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;قف</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>وقف التشغيل و العودة لوضع البحث</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;القفز</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>القفز للفيديو التالي</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;ايقاف مؤقت</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>ايقاف التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;شاشة كاملة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>تشغيل شاشة كاملة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>اخفاء القائمة و شريط المهام</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>اذهب الى صفحة فيديو YouTube و وقف التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>نسخ رابط YouTube الى clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>نسخ رابط الفيديو الى clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>اوجد أجزاء الفيديو الأخرى املا أن تكون في الترتيب الصحيح</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;إزالة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>إزالة الفيديو من القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>الرفع الى &amp;اعلى</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>رفع المقاطع المختارة الى فوق في القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>الانزال الى &amp;تحت</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>انزال المقاطع المختارة الى تحت في القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>مسح تاريخ البحث. لا يمكن استعادته.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;الانتهاء</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>مع السلامة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;الموقع</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 على الشبكة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>‎الرجاء التبرع لمتابعة تطوير  %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;عن البرنامج</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>معلومات عن %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>البحث</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>كتم الصوت</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;التحميلات</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>عرض تفاصيل عن تحميلات الفيديو</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;التحميلات</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>تحميل الفيديو الحالي</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>التقط &amp;صورة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>ا&amp;شترك بالقناة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>شارك الفيديو الحالي باستخدام %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;البريد الإلكتروني</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>البريد الإلكتروني</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;اقفل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;اطفو علي القمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;أوقف العرض التلقائي بعد الفيديو الحالي </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;أبلغ عن مشكلة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;خيارات البحث...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>المزيد...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>مقاطع ذات &amp;صلة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>شاهد مقاطع فيديو ذات صلة بهذا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>افتح &amp;ضمن المُستعرض...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>أت&amp;حبّ %1؟ قيّمه!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;البرنامج</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>اشترِ %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;قراءة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;القائمة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;الفيديو</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;مشاهدة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;شارك</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;المساعدة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>اضغط %1 لرفع الصوت و %2 لخفضه</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>جاري فتح %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>هل تريد الخروج %1  رغم وجود تحميل?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>عند اغلاق %1 التحميل سيلغى.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>الاغلاق و الغاء التحميل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>انتظار انتهاء التحميل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>غادر &amp;الشاشة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 الإصدار %2 متوفر الآن.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>ذكرني لاحقا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>تحديث</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>خطأ: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>ال&amp;سابق</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>العودة إلى المجاز السابق</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;الواجهة الخفيفة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>أفتح صفحة الفيديو على &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>انسخ رابط الفيديو &amp;Link</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>انسخ الفيديو وعنوانه</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>أبحث عن &amp;أجزاء الفيديو الأُخرى</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;مسح تاريخ البحث </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>القيام بتبرع</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;تشغيل الفيديوهات يدويا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>بدء تشغيل الفيديو يدويا</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>اختر موقع محتوياتك</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>اكمال التشغيل</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>الوقت المتبقي: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>%1%الصوت عند </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>الصوت مكتوم</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>الصوت غير مكتوم</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>الوضوح الاقصى %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>خصوصيتك امنة</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>التحميل انتهى</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>يمكنك لصق رابط YouTube في برنامج اخر</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>يمكنك لصق رابط الفيديو في برنامج اخر</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>الرابط سيكون صالحا لمدة محدودة.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>انها تتيح لك تجربة البرنامج.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>متابعة</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>من</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>جزء</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>حلقة</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>أرسلت من %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>إلغاء الاشتراك من %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>اشترك في %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>احصل على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>جاري تحميل %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 مشاهدة</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>1% من 2% (3%) — 4%</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>تهيئة</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>فشل</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>تم</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>متوقف</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>ايقاف التحميل</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>اظهار في %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>فتح المجلد الرئيسي</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>اعادة التحميل</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>جاري البحث...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>اظهر %1 المزيد</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>لا توجد فيديوهات</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>لا يوجد المزيد من الفيديوهات</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>ترتيب بـ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>ذات صلة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>التاريخ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>عدد المشاهدات</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>التقييم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>اي وقت</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>اليوم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 أيام</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 يوم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>المدة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>الكل</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>قصير</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>متوسط</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>طويل</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>أقل من 4 دقائق</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>ما بين 4 ال 20 دقيقة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>أطول من 20 دقيقة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>الجودة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>دقة عالية</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720 أو أعلي</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>إنتهي</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>البحث</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>مرحبا بك في &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>الحصول على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>أدخل</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation> كلمة مفتاح</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>قناة</translation>
     </message>
         <translation>لبدء مشاهدة أشرطة الفيديو</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>شاهد</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>كلمات بحث سابقة</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>القنوات الأخيرة</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;عودة</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>تقدّم إلى %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>عُد إلى %1</translation>
     </message>
         <translation>خيارات البحث</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>هل تقصد: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>تغيير الموقع...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>حُفظت الصورة إلى %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>تغيّر موقع الصّور المُلتقطة.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>الأكثر شهرة</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>لا يمكن الحصول على دفق الفيديو %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>خطأ شبكة:%1 الى %2</translation>
     </message>
index 5e5f1c73276da459de11dfc9eb3aa4ef2c8f2967..5a177930243c8ed215cf6da034eb30d7a6d2e846 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ast" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ast" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>¡Hai vida más allá del restolador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Llicencia pa: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 ye Software Llibre pero lleva un tiempu valoratible desendolcalu.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Por favor &lt;a href=&apos;%1&apos;&gt;fai una donación&lt;/a&gt; pa sofitar el desendolcu continuu de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Seique quieras probar tamién les mios otres aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduz %1 a la to llingua nativa usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Iconu diseñáu por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Lliberáu baxo la &lt;a href=&apos;%1&apos;&gt;Llicencia Pública Xeneral GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zarrar</translation>
     </message>
         <source>About</source>
         <translation>Tocante a</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que siempres quixisti saber sobre %1 y nun t&apos;atrevíes a entrugar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Llimpiar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esto ye namái la versión demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Namái pues descargar vídeos de duración menor que %1 minutos pa que puedas probar la función de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Siguir</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Consigui la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargáu en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descarga finada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargues</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Camudar llocalización...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Escueyi la llocalización de les descargues</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Ubicación pa descargues modificada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Les descargues en cursu van dir a la llocalización anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Descargando a: %1</translation>
     </message>
         <translation>Descargando anovamientu...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Ponte cómodu</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Fallu</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Parar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener la reproducción y volver a la gueta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Saltar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Omitir videu y saltar al siguiente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Posar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Posar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Pasar a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Anubrir la llista de reproducción y la barra de ferramientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Dir a la páxina del videu en YouTube y posar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar l&apos;enllaz a YouTube del videu actual nel cartafueyu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar la URL actual del fluxu del videu al cartafueyu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Alcontrar otres partes de vídeos, con suerte nel orde correutu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Desanicia&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Quitar los vídeos seleicionaos de la llista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>X&amp;ubir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover hacia arriba na llista de reproducción los vídeos seleicionaos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Baxar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover hacia abaxo na llista de reproducción los vídeos seleicionaos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Llimpiar l&apos;historial de guetes. Nun pue desfacese.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>Co&amp;lar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Alón</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Páxina &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor, sofita&apos;l desendolcu continuu de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>Tocante &amp;a</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Información tocante a %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Guetar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar volume</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargues</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Amosar detalles sobre les descargues de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Descargar el videu actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartir el videu actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>Cor&amp;réu-e:</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Corréu-e</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zarrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flotar na parte superior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Detener tres d&apos;esti videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informar de un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar la gueta...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Más...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;rellacionaos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver vídeos rellacionaos col actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
-        <translation type="unfinished"/>
+        <translation>¿&amp;Préstate %1? ¡Puntúalo!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Mercar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>Re&amp;producción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Llista de reprod.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>A&amp;yuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Calca %1 pa xubir el volume, %2 pa baxalu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>¿Quies salir de %1 con una descarga en cursu?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si zarres %1 agora, esta descarga va encaboxase.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Zarrar y encaboxar descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Esperar a que fine la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de pan&amp;talla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versión %2 yá ta disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Avisame más sero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Anovar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Fallu: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>A&amp;nterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Tornar a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>M&amp;ou compautu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la páxina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar l&apos;en&amp;llaz de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar la &amp;URL de fluxu del videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Alcontrar &amp;partes de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Llimpiar guetes recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Facer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Comenzar la reproducción &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Comenzar la reproducción de vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Escueyi la llocalización pal conteníu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continuar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tiempu faltante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volume silenciáu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volume activu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolución máxima de videu afitada en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>La to privacidá agora ta asegurada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descargues completes</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Agora pues apegar la URL del fluxu de videu n&apos;otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>L&apos;enllaz ye válidu namái por un tiempu llimitáu.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Esto ye namái la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esto ye namái la versión demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Déxate probar l&apos;aplicación y ver si te funciona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Siguir</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodiu</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Unviáu dende %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Consigui la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 reproducciones</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completáu</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Paráu</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Detener la descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Amosar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir carpeta contenedora</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reaniciar la descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Guetando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Amosar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nun hai vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nun hai más vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Númberu de visites</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Valoración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Cualquier momentu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Güei</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 díes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 díes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Too</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Curtiu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mediu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Llargu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Ente 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayor de 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calidá</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Fecho</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Guetar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienveníu a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Consigui la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Escribi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una pallabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>una canal</translation>
     </message>
         <translation>pa entamar a ver vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Pallabres clave recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Atrás</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Dir a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Regresar a %1</translation>
     </message>
         <translation>&amp;Refinar la gueta...</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Quixisti dicir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Camudar llocalización...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Más populares</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nun pue obtenese&apos;l fluxu de videu pa %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Fallu de rede: %1 por %2</translation>
     </message>
index d26c975444e5acbf646ecdf0d603efe1f2c15d5f..3677ef6246a6ae741961cc955a534b19053e9983 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="be" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="be" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Жыццё ёсць і вонках браўзера!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Версія %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Ліцэнзія на: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 ёсць свабодным праграмным забеспячэннем. Але яго развіццё займае каштоўны час.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Калі ласка, &lt;a href=&apos;%1&apos;&gt;ахвяруйце&lt;/a&gt; на падтрымку неперарыўнага развіцця %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Магчыма, вам спадабаюцца мае іншыя праграмы:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, музыкальны плэер для YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, музыкальны плэер</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Перакладайце %1 на родную мову праз %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Дызайн іконкі выканаў %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Выпушчана пад ліцэнзіяй &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыць</translation>
     </message>
         <source>About</source>
         <translation>Апісанне</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Тое, што вы заўсёды хацелі ведаць пра %1 і ніколі не наважваліся спытаць</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Ад %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Усе відэа</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Нягледжаныя відэа</translation>
     </message>
         <translation>Сартаваць паводле</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Усе відэа</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Нягледжаныя відэа</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Пазначыць як гледжанае</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Адпісацца</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Падпіскі пакуль не абнаўляліся.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Няма жаднай падпіскі. Ужывайце зорачку, каб падпісвацца на каналы.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Ачысціць</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Гэта дэма-версія %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Можна пампаваць толькі відэа, каротшыя за %1 хв., што дастаткова для тэсціравання.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Працягнуць</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Атрымаць поўную версію</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 сцягнута ў %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Сцягванне завершана</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Змяніць размяшчэнне...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Размяшчэнне сцягнутага</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Размяшчэнне сцягнутага абноўлена.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Бягучыя сцягванні запішуцца ў ранейшае месца.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Сцягваецца ў: %1</translation>
     </message>
         <translation>Сцягваецца абнаўленне...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Падпіскі на каналы</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Пачуйцеся выгодна</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Памылка</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Спыніць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Спыніць прайграванне і вярнуцца да пошуку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>П&amp;рапусціць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Перайсці да наступнага відэа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Паўза</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Паставіць на паўзу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Поўны &amp;экран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Уключыць на поўны экран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Схаваць плэйліст і панель інструментаў</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Перайсці на старонку YouTube і паставіць на паўзу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Скапіяваць YouTube-спасылку бягучага відэа ў буфер</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Скапіяваць спасылку на бягучы відаэпаток у буфер</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Знайсці іншыя часці відэа, імаверна, у правільным парадку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Вы&amp;даліць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Выдаліць абраныя відэа з плэйлісту</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Пасунуць у&amp;верх</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Пасунуць абраныя відэа ўверх па плэйлісце</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Пасунуць у&amp;ніз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Пасунуць абраныя відэа ўніз па плэйлісце</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Ачысціць гісторыю пошуку. Няможна адкаціць.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Выйсці</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Бывай</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Вэб-сайт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 у інтэрнеце</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Калі ласка, падтрымайце развіццё %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Апісанне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Звесткі пра %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Пошук</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Бязгучна</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Сцягванні</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Падрабязнасці пра сцягванні</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Сцягнуць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Сцягнуць бягучае відэа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Зрабіць &amp;здымак</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Падпісацца на канал</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Распаўсюдзіць відэа праз %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Пошта</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Пошта</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Заставацца па-над усімі вокнамі</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Спыніцца пасля гэтага відэа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Паведаміць пра хібу...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>У&amp;дасканаліць запытанне...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Больш...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Падобныя відэа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Глядзець відэа, падобныя да гэтага</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Адкрыць у &amp;браўзеры...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Падабаецца %1? Ацані яго!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Праграма</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Купіць %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Прайграванне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Плэй&amp;ліст</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Відэа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Выгляд</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Распаўсюд</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Дапамога</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Націсніце %1 для павелічэння гуку, %2 для памяншэння</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1 адкрываецца</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Жадаеце выйсці з %1 маючы актыўныя сцягванні?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Калі зараз выйсці з %1, яны будуць скасаваныя.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Закрыць і скасаваць сцягванне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Прычакаць сканчэння сцягвання</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Пакінуць поўна&amp;экранны рэжым</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версіі %2 ужо даступны.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Напомніць пазней</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Абнаўленне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Памылка: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Папя&amp;рэдні</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Вярнуцца да папярэдняга трэка</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Кампактны рэжым</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Адкрыць старонку на &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Скапіяваць YouTube-&amp;спасылку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Скапіяваць спасылку на відэа&amp;паток</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Знайсці &amp;часткі відэа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>А&amp;чысціць апошнія запытанні</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Ахвяраваць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Пачынаць &amp;гранне ўручную</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Пачынаць граць відэа ўручную</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Выберыце вашае месцаразмяшчэнне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Граць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Аднавіць прайграванне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Засталося: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Гучнасць: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Гуку няма</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Гук ёсць</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Максімальны памер відэа: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Вашая прыватнасць цяпер у бяспецы</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Сцягванне завершанае</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Цяпер можна ўставіць YouTube-спасылку ў іншую праграму</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Цяпер можна ўстаўляць спасылкі на відэапаток у іншых праграмах</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Спасылка будзе заставацца слушнай абмежаваны час.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Гэта дэма-версія %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Яна дазваляе пратэсціраваць праграму і праверыць на адпаведнасць вашым задачам.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Працягнуць</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>з</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>часць</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>эпізод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Адпраўлена з %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Адпісацца ад %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Падпісацца на %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Атрымаць поўную версію</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Сцягваецца %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 праглядаў</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 з %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Падрыхтоўка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Памылка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Завершана</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Спынена</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Спыніць сцягванне</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Паказаць у %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Адчыніць бацькоўскую папку</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Перазапусціць сцягванне</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Пошук...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Паказаць яшчэ %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Няма відэа</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Больш няма відэа</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Сартаваць паводле</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>адпаведнасці</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>даты</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>колькасці праглядаў</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>ацэнак</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>За ўвесь час</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Сёння</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 дзён</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 дзён</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Працягласць</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Усе</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Кароткія</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Сярэднія</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Даўгія</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Меншыя за 4 хвіліны</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4—20 хвілін</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Даўжэйшыя за 20 хвілін</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Якасць</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>High Definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p і лепей</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Гатова</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Пошук</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Ласкава запрашаем у &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Атрымаць поўную версію</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Задайце</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ключавое слова</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
         <translation>, каб пачаць глядзець відэа.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Глядзець</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Апошнія запытанні</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Апошнія каналы</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Назад</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Наперад да %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Назад да %1</translation>
     </message>
         <translation>Удасканаліць запытанне</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Мелі на ўвазе: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Змяніць размяшчэнне...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Здымак захаваны ў %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Размяшчэнне здымкаў зменена.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Папулярныя</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Не ўдалося атрымаць відэапаток для %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Сеткавая памылка: %1 для %2</translation>
     </message>
index be3f36ad02cfea556e017b41c5faa657a47135b4..45e635564135234a6e4d02825332561783835232 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="bg_BG" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="bg_BG" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Има живот и извън браузера!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Версия %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Лицензирано от: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 е безплатен софтуер, но разработването му отнема безценно време.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Моля &lt;a href=&apos;%1&apos;&gt;дарете&lt;/a&gt; за да подкрепите бъдещите разработки, на %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Може също да искате да пробвате и другите ми програми:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>&amp;1, YouTube музикалн плеър</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>&amp;1, музикален плеър</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Преведи &amp;1 на твоя роден език използвайки &amp;2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Иконите са изработени от %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Издадено е под &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Затваряне</translation>
     </message>
         <source>About</source>
         <translation>Относно</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Какво винаги сте искали да знаете за %1 , но никога не сте посмявали да попитате</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>От %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Всички видео клипове</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Неизгледани видео клипове</translation>
     </message>
         <translation>Сортиране по</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Всички видео клипове</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Негледани видео клипове</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Отписване</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Няма обновени абонаменти</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Нямате абонаменти. Изполвай звезда за абониране към канали</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Изчисти</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Това е демо верция на %1</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Може да изтегляте видео клипове по-къси от &amp;1 минута, за да изпробвате функцията за изтегляне.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Продължи</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Пълна версия</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 изтеглено за %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Теглене привършено</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Промени мястото...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Избери мястo за изтегляне</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Мястото за запис на изтеглянията е сменено.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Текущите изтегляния ще продължат да се запазват на предишното място.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>изтегляне в: %1</translation>
     </message>
         <translation>Изтегляне на обновяване...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Абонаменти за канали</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Отпуснете се</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Грешка</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Спри</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Спри изпълнението и се върни в търсачката</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>П&amp;ропусни</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Следващо видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Пауза</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Пауза на възпроизвеждането</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Цял екран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Отвори в цял екран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Скрии прейлистата и туулбара</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Отиди в YouTube видео страницата и сложи на пауза</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Постави връзка към видеото в YouTube в клипборда</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Копирай URL на гледаното видео в клипборда</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Премахни</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Премахни избраните виде от плейлистата</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Премести &amp;нагоре</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Премести избраните видеа в плейлиста</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Премести &amp;надолу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Премести надолу в плейлиста избраните видеа</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Изчисти историята на търсене. Не е обратимо.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Изход</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Чао</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Уебсайт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 в мрежата</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Моля подкрепете, бъдещите разработки на %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Относно</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Информация за %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Търси</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Заглуши звука</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Изтегляния</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Покажи подробности относно видео изтеглянията</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Изтегляния</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Изтегли текущото видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Абонирай се за Канала</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Сподели сегашният видео клип с %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Електронна поща</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Електронна поща</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Затваряне</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Залепи най отгоре</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Спри след този видео клип</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Докладвай проблем...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Стесняване на търсенето...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Повече...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Сродни Видео клипове</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Гледай видео клиповете свързани с това</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Отвори в &amp;Браузъра...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Апликация</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Закупи %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Възпроизвеждане</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Плейлиста</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Виж</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Сподели</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Помощ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Натисни %1 за да увеличите звука, %2 да го намалите</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Отваряне %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Искате ли да излезете &amp;1 с незавършено изтегляне?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Ако затворите &amp;1 сега, изтеглянето ще бъде прекъснато.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Затвори и прекъсни изтеглянето</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Изчакайте тегленето да привърши</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Изход от &amp;Цял екран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версия %2 е достъпна.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Напомни ми по късно</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Обнови</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Грешка: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>П&amp;редишно</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Върни се на предишната песен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Компактен режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Отвори в &amp;YouTube страницата</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Копирай YouTube &amp;връзката</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Копирай &amp;URL на видео излъчването</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Намери Видео &amp;Части</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Изчисти Последните Търсения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Направи &amp;дарение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ръчно стартиране</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Ръчно възпроизвеждане на видео клипове</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Избери местонахождение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Възпроизвеждане</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Възстанови възпроизвеждането</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Оставащо време: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Звук на %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Звука е заглушен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Звука е отглушен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Максимално качество на видеото зададено на %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Вашата интимност вече е обезопасена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Изтеглянето е завършено</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Вече можете да вмъкнете YouTube линка в друго приложение</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Вече можете да вмъкнете URL адреса на излъчването в друго приложение</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Линка ще е валиден само за определено време.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Това е демо верция на %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Позволява ви да изпробвате програмата, за да проверите дали работи добре при вас.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Продължи</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>от</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>част</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>епизод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Изпратено от %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Отписване от %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Абонирай се за %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Пълна версия</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>изтеглане %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 гледания</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 от %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Приготвяне</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Неуспешно</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Завършен</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Спряно</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Спри изтеглянето</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Покажи в %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Отвори родителската папка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Рестартирай изтеглянето</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Търся...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Покажи %1 повече</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Няма видео клипове</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Няма повече видео клипове</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Сортиране по</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Уместност</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Дата</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Виж бройка</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Класация</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>По всяко време</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Днес</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Дни</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Дни</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Времетраене</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Всички</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Къс</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Среден</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Дълъг</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>По къс от 4 минути</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Между 4 у 20 минути</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>По голям от 20 минути</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Качество</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Високо качество</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p или по голямо</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Търси</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Добре дошли в &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Пълна версия</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Напишете</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ключова дума</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
         <translation>за гледане на видео клипове</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Гледай</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Скорошни ключови думи</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Скорошни канали</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Назад</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Напред до %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Назад до %1</translation>
     </message>
         <translation>Стесни търсенето</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Да не имахте в предвид: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Промени мястото...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Най-популярни</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Мрежова грешка: %1 за %2</translation>
     </message>
index 93e7e2fe541e285ec61f31b6943afab6061800b4..e87091168efc5becdd1a8c3db3521684eb8371d9 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ca" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ca" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Hi ha vida fora del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versió %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Llicenciat a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 és programari lliure, però el seu desenvolupament pren un temps preciós.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Siusplau &lt;a href=&apos;%1&apos;&gt;dóna&lt;/a&gt; per ajudar al desenvolupament continuat del %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>És possible que també vulgueu provar altres aplicacions meves:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduïu el %1 al vostre idioma natal utilitzant %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icona dissenyada per %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Alliberat sota la &lt;a href=&apos;%1&apos;&gt;Llicència Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
         <source>About</source>
         <translation>Quant a</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>El que sempre havíeu volgut saber sobre el %1 i mai us havíeu atrevit a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Per %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Tots els vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos no vists</translation>
     </message>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Tots els vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos no vistos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marca com a Visualitzat</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Donar-se de baixa</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>No hi han subscripcions actualitzades.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>No teniu subscripcions. Feu servir el símbol de l&apos;estrella per subscríure-us als canals.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Neteja</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aquesta només és la versió de demostració del %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Només pot baixar vídeos de menys de %1 minuts per tal que en pugui provar aquesta funció.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descarregat en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descàrrega completada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Canvia la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Escull la ubicació de les baixades</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Ubicació de baixades canviada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Les baixades actuals encara aniran a la ubicació prèvia.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Baixant a: %1</translation>
     </message>
         <translation>Descarregant actualitzacions...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Subscripcions de canal</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Poseu-vos còmodes</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Atura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Atura la reproducció i torna a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Salta al vídeo següent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Passa a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Amaga la llista de reproducció i la barra d&apos;eines</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ves a la pàgina del vídeo del YouTube i pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copia l&apos;enllaç del vídeo actual del YouTube al porta-retalls</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copia el URL del flux de vídeo actual al porta-retalls</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Troba altres parts del vídeo, amb sort en l&apos;ordre correcte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Elimina els vídeos seleccionats de la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mou &amp;amunt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mou amunt els vídeos seleccionats en la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mou a&amp;vall</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mou avall els vídeos seleccionats en la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Neteja l&apos;historial de búsquedes. No es pot desfer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Surt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adéu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Pàgina &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 a la xarxa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Siusplau ajuda al desenvolupament continuat del %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Quant a</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silencia el volum</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Baixades</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostra detalls de les descàrregues de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Baixa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Baixa el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Pren &amp;Instantània</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subscriu al canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Comparteix el vídeo actual fent servir %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correu electrònic</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Manté a &amp;sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Atura després d&apos;aquest vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informa d&apos;un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Afina la Cerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Més...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;Relacionats</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Visualitza vídeos relacionats amb l&apos;actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Obre al &amp;Navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>T&apos;&amp;Agrada %1? Puntua&apos;l!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicació</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>A&amp;juda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Premeu %1 per pujar el volum, %2 per baixar-lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Obrint %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vol abandonar el %1 amb una baixada en curs?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si tanca el %1 ara, aquesta baixada es cancel·larà.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Tanca i cancel·la la baixada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Espera a acabar la baixada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Abandona la Pantalla &amp;Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versió %2 ja està disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Recorda-m&apos;ho més tard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualitza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Torna a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compacte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Obre la pàgina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia l&apos;&amp;enllaç de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copia el &amp;URL del flux de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Troba &amp;parts de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Neteja les búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Fer una &amp;donació</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Reprodueix vídeos &amp;manualment</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Comença a reproduir vídeos manualment</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Esculliu la ubicació del vostre contingut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Reprodueix</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continua la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volum al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>El volum està silenciat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>El volum no està silenciat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolució màxima de vídeo fixada a %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>La vostra privacitat ara és segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Baixades completes</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ja podeu enganxar l&apos;enllaç de YouTube en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ja pot enganxar el URL del flux de vídeo en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>L&apos;enllaç només serà vàlid durant un temps limitat.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aquesta només és la versió de demostració del %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Us permet probar l&apos;aplicació i veure si us va bé.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>part</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviat des de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Cancel·la la subscripció a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Subscriu-me a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Baixant %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visualitzacions</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparant</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Fallit</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completat</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Aturat</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Atura la baixada</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostra en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Obre el directori superior</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Recomença la baixada</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Cercant...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostra %1 Més</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Cap vídeo</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Cap més vídeo</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Rellevància</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Nombre de vistes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Qualificació</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Qualsevol data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Avui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duració</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Tot</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Curt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mig</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Llarg</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menys de 4 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 i 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Més de 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualitat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta Definició</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o major</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Fet</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvinguts al &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introdueix</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una paraula</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>per comencar a veure vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Veure</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canals recents</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Enrere</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avança a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Retrocedeix a %1</translation>
     </message>
         <translation>Afina la Cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Volieu dir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Canvia la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Instantània desada a %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>La ubicació de les instantànies ha canviat. </translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Més popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>No es pot obtenir flux de vídeo per %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de xarxa: %1 per %2</translation>
     </message>
index e1d4b28406af30cc34fe9d5f1c9b57e0bdd0e4c1..781667a2fa5263f0707d164e05c41d5eb32c3531 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ca_ES" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ca_ES" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Hi ha vida fora del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versió %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Llicenciat a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 és programari lliure, però el seu desenvolupament pren un temps preciós.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Siusplau &lt;a href=&apos;%1&apos;&gt;dóna&lt;/a&gt; per ajudar al desenvolupament continuat del %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>És possible que també vulgueu provar altres aplicacions meves:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduïu el %1 al vostre idioma natal utilitzant %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icona dissenyada per %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Alliberat sota la &lt;a href=&apos;%1&apos;&gt;Llicència Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
         <source>About</source>
         <translation>Quant a</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>El que sempre havíeu volgut saber sobre el %1 i mai us havíeu atrevit a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Per %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Tots els vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos no vists</translation>
     </message>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Tots els vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos no vistos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>No hi han subscripcions actualitzades.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>No teniu subscripcions. Feu servir el símbol de l&apos;estrella per subscríure-us als canals.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Neteja</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aquesta només és la versió de demostració del %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Només pot baixar vídeos de menys de %1 minuts per tal que en pugui provar aquesta funció.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descarregat en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descàrrega completada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Baixada</numerusform><numerusform>%n Baixades</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Canvia la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Escull la ubicació de les baixades</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Ubicació de baixades canviada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Les baixades actuals encara aniran a la ubicació prèvia.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Baixant a: %1</translation>
     </message>
         <translation>Descarregant actualitzacions...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Subscripcions de canal</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Poseu-vos còmodes</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Atura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Atura la reproducció i torna a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Salta al vídeo següent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Passa a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Amaga la llista de reproducció i la barra d&apos;eines</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ves a la pàgina del vídeo del YouTube i pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copia l&apos;enllaç del vídeo actual del YouTube al porta-retalls</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copia el URL del flux de vídeo actual al porta-retalls</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Troba altres parts del vídeo, amb sort en l&apos;ordre correcte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Elimina els vídeos seleccionats de la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mou &amp;amunt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mou amunt els vídeos seleccionats en la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mou a&amp;vall</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mou avall els vídeos seleccionats en la llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Neteja l&apos;historial de búsquedes. No es pot desfer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Surt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adéu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Pàgina &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 a la xarxa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Siusplau ajuda al desenvolupament continuat del %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Quant a</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silencia el volum</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Baixades</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostra detalls de les descàrregues de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Baixa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Baixa el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subscriu al canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Comparteix el vídeo actual fent servir %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correu electrònic</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Manté a &amp;sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Atura després d&apos;aquest vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informa d&apos;un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Afina la Cerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Més...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;Relacionats</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Visualitza vídeos relacionats amb l&apos;actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Obre al &amp;Navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>T&apos;&amp;Agrada %1? Puntua&apos;l!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicació</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>A&amp;juda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Premeu %1 per pujar el volum, %2 per baixar-lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Obrint %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vol abandonar el %1 amb una baixada en curs?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si tanca el %1 ara, aquesta baixada es cancel·larà.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Tanca i cancel·la la baixada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Espera a acabar la baixada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Abandona la Pantalla &amp;Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versió %2 ja està disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Recorda-m&apos;ho més tard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualitza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Torna a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compacte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Obre la pàgina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia l&apos;&amp;enllaç de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copia el &amp;URL del flux de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Troba &amp;parts de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Neteja les búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Fer una &amp;donació</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Reprodueix vídeos &amp;manualment</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Comença a reproduir vídeos manualment</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Esculliu la ubicació del vostre contingut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Reprodueix</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continua la reproducció</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volum al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>El volum està silenciat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>El volum no està silenciat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolució màxima de vídeo fixada a %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>La vostra privacitat ara és segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Baixades completes</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ja podeu enganxar l&apos;enllaç de YouTube en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ja pot enganxar el URL del flux de vídeo en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>L&apos;enllaç només serà vàlid durant un temps limitat.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aquesta només és la versió de demostració del %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Us permet probar l&apos;aplicació i veure si us va bé.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>part</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviat des de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Cancel·la la subscripció a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Subscriu-me a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Baixant %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visualitzacions</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparant</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Fallit</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completat</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Aturat</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Atura la baixada</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostra en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Obre el directori superior</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Recomença la baixada</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Cercant...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostra %1 Més</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Cap vídeo</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Cap més vídeo</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Rellevància</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Nombre de vistes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Qualificació</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Qualsevol data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Avui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duració</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Tot</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Curt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mig</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Llarg</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menys de 4 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 i 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Més de 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualitat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta Definició</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o major</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Fet</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvinguts al &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introdueix</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una paraula</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>per comencar a veure vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Veure</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canals recents</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Enrere</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avança a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Retrocedeix a %1</translation>
     </message>
         <translation>Afina la Cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Volieu dir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Canvia la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Més popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>No es pot obtenir flux de vídeo per %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de xarxa: %1 per %2</translation>
     </message>
index 86ab041f53419007ad9693574ba03fc390ee708e..46850404eb8936806953bde58fe0fab226719f87 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="cs_CZ" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="cs_CZ" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Život existuje i mimo prohlížeč!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Verze %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licence k: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je svobodný software, ale jeho vývoj stojí drahocenný čas.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Prosím &lt;a href=&apos;%1&apos;&gt;přispějte&lt;/a&gt; na další vývoj %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Je možné, že vás zaujmou i moje ostatní programy:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, přehrávač hudby z YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, hudební přehrávač</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Přeložte %1 do vašeho mateřského jazyka pomocí %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Autor ikony: %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Vydáno pod &lt;a href=&apos;%1&apos;&gt;licencí GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
         <source>About</source>
         <translation>O aplikaci</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Co jste vždy chtěli vědět o aplikaci %1 ale nikdy jste se neodvážili zeptat</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Od %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Všechna videa</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Nesledovaná videa</translation>
     </message>
         <translation>Třídit podle</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Všechna videa</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Nesledovaná videa</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Označit jako shlédnuté</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Odhlásit</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Nyní nejsou k dispozici žádné aktualizace odběrů.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Nemáte žádné odběry. Použijte hvězdičku k přihlásení odběru kanálů.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Odstranit vše</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Právě teď</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Toto je pouze demoverze %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Umí stahovat pouze videa délky do %1 minut, abyste mohli funkci stahování vyzkoušet</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Pokračovat</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Získat plnou verzi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 staženo v %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Stahování dokončeno</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Změnit složku pro stahování...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Vyberte složku, do které se bude stahovat</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Nastavení složky pro stahování bylo změněno.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Probíhající stahování budou stále pokračovat v ukládání do dříve nastaveného adresáře</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Stahováno do: %1</translation>
     </message>
         <translation>Stahování aktualizace...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>&amp;Ukončit</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Přeinstalovat</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanál odběrů</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Udělejte si pohodlí</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
-        <translation>&amp;Stop</translation>
+        <translation>&amp;Zastavit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Zastaví přehrávání a vrátí se zpět na vyhledávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Př&amp;eskočit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Přeskočí na další video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pozastaví přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Přepne na celou obrazovku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skryje playlist a toolbar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Otevře video na webu YouTube a pozastaví přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Zkopíruje adresu videa na YouTube do schránky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Zkopíruje do schránky adresu video streamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Najít další části videa, doufejme, že ve správném pořadí</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odstranit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Odstraní vybraná videa z playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>&amp;Nahoru</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Posune vybraná videa výš v playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Dolů</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Posune vybraná videa níž v playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Vyprázdní historii vyhledávání. Akci nelze vrátit.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Sbohem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Homepage</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na Webu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Prosím přispějte na další vývoj aplikace %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;O aplikaci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info o aplikaci %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Hledat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Ztlumit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Stahování</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Zobrazit podrobnosti o stahování videí</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Stáhnout</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Stáhnout přávě zobrazené video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Udělat &amp;Snímek</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Přihlásit se ke kanálu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Sdílet aktuální video pomocí %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zavřít</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Plovoucí navrchu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Přizpůsobit velikost okna</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zastavit po tomto videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Nahlásit chybu...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Upřesnit vyhledávání...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Více...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Související videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Sledovat videa související s tímto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Otevřít v prohlížeči ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Líbí se %1? Ohodnotit!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikace</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Koupit %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Pohled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Sdílet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Stiskněte %1 pro zvýšení hlasitosti; %2 pro snížení</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Otevírám %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Chcete ukončit %1, přestože ještě probíhá stahování?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jestli nyní ukončíte %1, bude nedokončené stahování přerušeno</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Přerušit stahování a ukončit aplikaci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Počkat na dokončení stahování</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Nahrávání...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opustit zobrazení na &amp;celou obrazovku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 verze %2 je nyní dostupná.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Připomenout později</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Aktualizovat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Chyba: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;ředešlý</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Jít zpět na předchozí skladbu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktní mód</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otevřít stránku &amp;YouTube </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopírovat YouTube &amp;odkaz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Zkopírovat adresu &amp;video streamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Nalézt &amp;části videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Vymazat poslední hledání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Podpořit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Zahájit přehrávání &amp;ručně </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Zahájit přehrávání videí ručně</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Vyberte si umístění obsahu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Play</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Pokračovat v přehrávání</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Zbývající čas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Hlasitost na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Zvuk je ztlumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Zvuk je zapnut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximální rozlišení videa je %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Vaše soukromí je nyní v bezpečí</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Všechna stahování byla dokončena</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Nyní můžete vložit odkaz na video na YouTube do jiného programu</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Nyní můžete vložit odkaz na video stream do jiné aplikace</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Tento odkaz platí jen po omezenou dobu.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Toto je %1 -- demoverze.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Umožňuje vyzkoušet aplikaci, abyste ověřili, jestli pro vás funguje.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Pokračovat</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>část</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epizoda</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Zaslat z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Odhlásit z </translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Přihlásit k %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Stáhnout plnou verzi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Je stahováno %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 zobrazení</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Připravuje se</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Selhalo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Dokončeno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Zastaveno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Zastavit stahování</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Ukázat v %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Otevřít příslušný adresář</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Začít stahovat znovu</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Hledá se...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Zobrazit dalších %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Žádná videa</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Žádná další videa</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Třídit podle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Významu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Počtu shlédnutí</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Hodnocení</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Kdykoliv</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Dnes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dnů</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Délka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Vše</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Krátký</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Střední</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Dlouhý</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Méně než 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mezi 4 a 20minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Delší než 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvalita</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Vysoké rozlišení</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p nebo vyšší</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Hledat</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Vítejte v &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Získat plnou verzi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Vložit</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>klíčové slovo</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanál</translation>
     </message>
         <translation> pro sledování videí.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Sledovat</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Poslední klíčová slova</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Poslední kanály</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Zpět</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Předat k %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Zpět k %1</translation>
     </message>
         <translation>Upřesnit vyhledávání</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Měli jste na mysli: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Změnit složku pro stahování...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Snímek uložen do %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Umístění snímku se změnilo.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Nejoblíbenější</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nelze získat video stream pro %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Chyba přípojení: %1 pro %2</translation>
     </message>
index 5368e1a735bcfa6d47f8feb04fa4383dfca5e71d..0810eb1e9120fd6abd7ecf6888d2aabda13540a0 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="da" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="da" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Der findes liv udenfor browseren!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licenseret til: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 er fri software, men udviklingen tager værdifuld tid.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Venligst &lt;a href=&apos;%1&apos;&gt;doner&lt;/a&gt; for at støtte den forsatte udvikling af %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Du ønsker måske også at prøve mine andre apps:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, en YouTube-musikafspiller</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, en musikafspiller</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Oversæt %1 til din modersmål ved hjælp af %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon designet af %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Frigivet under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Luk</translation>
     </message>
         <source>About</source>
         <translation>Om</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Hvad du altid har ønsket at vide om %1 og aldrig turde spørge om</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Af %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Du har %n ny video</numerusform><numerusform>Du har %n nye videoer</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Alle videoer</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Videoer, der ikke er set</translation>
     </message>
         <translation>Sorter efter</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Alle videoer</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Videoer, der ikke er set</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marker som set</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Afmeld</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Der er ingen opdateringer i de abonnerede.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Du har ingen abonnementer. Brug stjernetegnet til at abonnere på kanaler.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Fjern</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Lige nu</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n minut siden</numerusform><numerusform>%n minutter siden</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n time siden</numerusform><numerusform>%n timer siden</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n dag siden</numerusform><numerusform>%n dage siden</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n uge siden</numerusform><numerusform>%n uger siden</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n måned siden</numerusform><numerusform>%n måneder siden</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er kun demoversionen af %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Det kan kun hente videoer kortere end %1 minut, så du kan teste downloadfunktionaliteten.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Forsæt</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 downloaded på %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Download afsluttet</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Download(s)</numerusform><numerusform>%n Download(s)</numerusform></translation>
+        <translation><numerusform>%n download</numerusform><numerusform>%n downloads</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Skift placering...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Vælg placering til downloads</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Downloadplacering ændret.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nuværende downloads vil stadig blive glemt i forrige placering.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Downloader til: %1</translation>
     </message>
         <translation>Henter opdatering...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Den eksekverbare fil er blevet manipuleret, muligvis af en virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 kører ikke. Prøv at geninstallere.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Afslut</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Geninstaller</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Abonnementer på kanaler</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Sæt dig godt til rette</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Fejl</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stop afspilning og gå tilbage til søgeoversigt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>S&amp;pring over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Spring til næste video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pause afspilning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Fuldskærm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Vis i fuldskærm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skjul afspilningslisten og værktøjslinjen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gå til YouTube-videosiden og pause afspilningen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopier det aktuelle YouTube-videolink til udklipsholderen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopier adressen for den aktuelle videostrøm til udklipsholderen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Find andre videodele forhåbentlig i den rigtige rækkefølge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Fjern</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Fjern de valgte videoer fra afspilningslisten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Flyt &amp;Op</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Flyt de valgte videoer i afspilningslisten op</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Flyt &amp;Ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Flyt de valgte videoer i afspilningslisten ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Ryd søgeoversigt. Kan ikke fortrydes.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Afslut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Farvel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Hjemmeside</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 på nettet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Støt den forsatte udvikling af %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Om</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info om %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Søg</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Slå lyden fra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Vis deltaljer om video downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Download den aktuelle video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Tag $Skærmbillede</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Abonner på kanal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Del den aktuelle video ved hjælp af %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;amp; E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Luk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Behold øverst</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Juster vinduesstørrelse</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stop efter denne video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporter et problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Indskrænk søgning...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mere...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Relaterede videoer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Se videoer relateret til den nuværende</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Åbn i &amp;browser...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>%Vild med %1? Bedøm det!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Program</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Køb %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Afspil</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Afspilningsliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vis</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Del</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjælp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Tryk %1 for at skrue op for lyden og %2 for at skrue ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Åbner %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vil du afslutte %1 selvom et download er i gang?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Hvis du lukker %1 nu vil dette download blive annulleret. </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Luk og annuller download </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Vent til download er færdig</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Loader...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Forlad &amp;Fuld skærm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 er nu tilgængelig.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Påmind mig senere</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Opdatér</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Fejl: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>F&amp;orrige</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Gå tilbage til forrige nummer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Åbn &amp;Youtube-siden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopier &amp;link til Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>  
 Kopiér &amp;URL&apos;en til videostrømmen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Find dele af videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Ryd seneste søgninger</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Giv en &amp;Donation</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Start afspilning &amp;manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Start afspilning af videoer manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Vælg placering for dit indhold</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Afspil</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Genoptag afspilning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tilbageværende tid: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Lydniveau på %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Lyden er slået fra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Lyden er slået til</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimal videoopløsning sat til %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Dit privatliv er nu sikret</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Downloads færdig</translation>
     </message>
@@ -933,75 +995,85 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Du kan nu indsætte YouTube-linket i et andet program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Du kan nu indsætte adressen til videostrømmen i et andet program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Linket vil kun være gyldigt i en begrænset periode.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er kun demoversionen af %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Det giver dig mulighed for at teste programmet og se om det virker for dig.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Forsæt</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>af</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Sendt fra %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Fjern abonnement fra %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Abonner på %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Abonnerer ikke længere på %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Abonnerer nu på %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Downloader %1</translation>
     </message>
@@ -1050,52 +1122,52 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visninger</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 af %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Forbereder</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Fejl</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Fuldendt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Stoppet</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Stop download</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>VIs i %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Åben ovenstående mappe</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Genstart download</translation>
     </message>
@@ -1103,22 +1175,22 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Søger...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Vis %1 mere</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Ingen videoer</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Ikke flere videoer</translation>
     </message>
@@ -1126,109 +1198,109 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sorter efter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevans</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Dato</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Antal visninger</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Bedømmelse</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Når som helst</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>I dag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Varighed</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medium</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Mindre end 4 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mellem 4 og 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Længere end 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvalitet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>High Definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p eller højere</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Afsluttet</translation>
     </message>
@@ -1244,7 +1316,7 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Søg</translation>
     </message>
@@ -1252,28 +1324,28 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Velkommen til &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Indtast</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>et nøgleord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>en kanal</translation>
     </message>
@@ -1283,17 +1355,17 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
         <translation>for at  begynde at se video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Afspil</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Seneste nøgleord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Nyeste kanaler</translation>
     </message>
@@ -1301,18 +1373,18 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Tilbage</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Frem til %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Tilbage til %1</translation>
     </message>
@@ -1325,7 +1397,7 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
         <translation>Indskrænk søgning</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Mente du: %1</translation>
     </message>
@@ -1333,17 +1405,17 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Skift placering...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Skærmbillede gemt på %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Lokation for skærmbilleder ændret.</translation>
     </message>
@@ -1351,7 +1423,7 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Mest populære</translation>
     </message>
@@ -1359,12 +1431,12 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan ikke hente videostrøm for %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Netværksfejl: %1 for %2</translation>
     </message>
index a06ec60fe23fbc4b6d056b8c2645915ab3427050..909db7a303f2d8056645a4929c943b08a9145dd7 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="de_DE" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="de_DE" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Es gibt ein Leben außerhalb des Browsers!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Lizenziert für: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 ist Freie Software, aber die Entwicklung kostet wertvolle Zeit.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Bitte &lt;a href=&apos;%1&apos;&gt;spenden&lt;/a&gt; Sie, um die Weiterentwicklung von %2 zu unterstützen.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Vielleicht möchten Sie auch meine anderen Apps ausprobieren:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ein YouTube-Musik-Player</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, ein Musik-Player</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Übersetzen Sie %1 in Ihre Muttersprache mit %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icons wurden gestaltet von %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Veröffentlicht unter der &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Schließen</translation>
     </message>
         <source>About</source>
         <translation>Über</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Was Du schon immer über %1 wissen wolltest, Dich aber nie getraut hast zu fragen</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Von %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Alle Videos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Ungesehene Videos</translation>
     </message>
         <translation>Sortieren nach</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Alle Videos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Ungesehene Videos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Als gesehen markieren</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Abonnement beenden</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Zurzeit gibt es nichts Neues bei den Abonnements.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Du hast keine Abonnements. Benutze das Stern-Symbol, um einen Kanal zu abonnieren.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Säubern</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Jetzt</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>Vor %n Minute(n)</numerusform><numerusform>Vor %n Minute(n)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>Vor %n Stunde(n)</numerusform><numerusform>Vor %n Stunde(n)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>Vor %n Tag(en)</numerusform><numerusform>Vor %n Tag(en)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>Vor %n Woche(n)</numerusform><numerusform>Vor %n Woche(n)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>Vor %n Monat(en)</numerusform><numerusform>Vor %n Monat(en)</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dies ist nur die Demoversion von %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Sie kann nur Videos herunterladen, die kürzer als %1 Minuten sind, um die Funktion zum Herunterladen zu testen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Fortfahren</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Die Vollversion kaufen</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 heruntergeladen nach %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Herunterladen abgeschlossen</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Speicherort ändern…</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Wähle den Speicherort</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Speicherort wurde geändert.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktuelle Downloads werden immer noch im alten Speicherort gespeichert.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Lade herunter nach: %1</translation>
     </message>
         <translation>Lade Aktualisierung herunter...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Verlassen</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Neuinstallation</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Abonnierte Kanäle</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Machen Sie es sich gemütlich</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Wiedergabe anhalten und zur Suchansicht zurückkehren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Ü&amp;berspringen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Zum nächsten Video springen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Wiedergabe pausieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Vollbildmodus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Vollbildmodus aktivieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Abspielliste und Werkzeugleiste ausblenden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gehe zur YouTube-Video-Seite und pausiere die Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>YouTube-Link in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Video-Link in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Findet andere Teile des Videos, hoffentlich in der richtigen Reihenfolge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Entfe&amp;rnen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Entferne das ausgewählte Video aus der Abspielliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Bewege &amp;hinauf</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Bewege das ausgewählte Video in der Abspielliste hinauf</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Bewege hin&amp;ab</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Bewege das ausgewählte Video in der Abspielliste hinunter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Den Suchverlauf löschen. Kann nicht rückgängig gemacht werden.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Verlassen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Tschüss</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Webseite</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 im Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Bitte unterstützen Sie die weitere Entwicklung von %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Über</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informationen über %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Suche</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Stummschalten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Details über Video-Downloads anzeigen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>H&amp;erunterladen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Das aktuelle Video herunterladen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>&amp;Schnappschuss machen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Abonnieren des Kanals</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Teilen Sie das aktuellen Video mit %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-Mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-Mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Schließen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Im Vordergrund &amp;bleiben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Fenstergröße anpassen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Nach diesem Video &amp;anhalten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ein Problem melden ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Suche verfeinern ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mehr...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Ve&amp;rwandte Videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Verwandte Videos zum Aktuellen ansehen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Im &amp;Browser öffnen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Gefällt Ihnen %1? Bewertung abgeben!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Anwendung</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>%1 kaufen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>A&amp;bspielliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ansehen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Teilen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Hilfe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>%1 drücken, um die Lautstärke zu erhöhen, %2 um sie zu verringern</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Öffne %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Möchten Sie %1 mit einem aktiven Download beenden?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Wenn Sie %1 jetzt beenden, wird der Download abgebrochen.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Beenden und Download abbrechen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Auf Abschluss des Downloads warten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Laden</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Vollbild verlassen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 Version %2 ist jetzt verfügbar.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Erinnere mich später</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Aktualisierung</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Fehler: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>V&amp;origes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Zum vorherigen Titel zurückgehen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompakt-Modus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube-Seite öffnen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube-&amp;Link kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Video-Stream-&amp;URL kopieren</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Suche weitere Video&amp;teile</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Vorherige Suchbegriffe löschen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Spenden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuelles Starten der Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Manuelles Starten der Videowiedergabe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Wähle ein Land für Inhalte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Abspielen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Wiedergabe fortsetzen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Verbleibende Zeit: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Lautstärke %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Ton ist stummgeschaltet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Ton ist eingeschaltet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximale Videoauflösung wurde auf %1 gesetzt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Ihre Privatsphäre ist nun geschützt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Herunterladen vollständig</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Sie können den YouTube-Link nun in einer anderen Anwendung einfügen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Sie können den Video-Link nun in einer anderen Anwendung einfügen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Der Link wird nur eine beschränkte Zeit gültig sein.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dies ist nur die Demoversion von %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Sie erlaubt es Ihnen, die Anwendung zu testen und zu schauen, ob sie bei Ihnen läuft.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Fortfahren</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>von </translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>Teil</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>Episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Gesendet von %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Beende Abonnement von %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Abonnieren von %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Die Vollversion kaufen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>%1 herunterladen</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 mal betrachtet</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 von %2 (%3) – %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Bereite vor</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Fertiggestellt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Angehalten</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Herunterladen abbrechen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>In %1 anzeigen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>übergeordneten Ordner öffnen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Herunterladen neu starten</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Suche...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Weitere %1 zeigen</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Keine Videos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Keine weiteren Videos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortieren nach</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevanz</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Aufrufe</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Bewertung</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Irgendwann</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Heute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Tage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Tage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Dauer</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kurz</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Weniger als 4 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Zwischen 4 und 20 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Länger als 20 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualität</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Hochauflösend</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p oder höher</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Erledigt</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Suche</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Willkommen bei &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Die Vollversion kaufen</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Eingeben</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ein Suchbegriff</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>ein Kanal</translation>
     </message>
         <translation>um die Wiedergabe zu starten.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Anschauen</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Letzte Suchbegriffe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Letzte Kanäle</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Zurück</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Weiter zu %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Zurück zu %1</translation>
     </message>
         <translation>Suche verfeinern</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Haben Sie gemeint: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Speicherort ändern…</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Schnappschuss gespeichert unter %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Speicherort der Schnappschüsse geändert.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Beliebteste</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostream für %1 konnte nicht geöffnet werden</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Netzwerk-Fehler: %1 für %2</translation>
     </message>
index 2e0a743e7e680c01e6d7cdd49544c3bb3890bab6..1f64b4f0ccee8f4f03545fc7d1788f4a3901a62d 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="el" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="el" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
-        <translation>Υπάρχει ζωή έξω απο τον πλοηγό!</translation>
+        <translation>Υπάρχει ζωή έξω από τον φυλλομετρητή!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Έκδοση %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Αδειοδοτημένο στον/ην: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>Το %1 είναι Ελεύθερο Λογισμικό αλλά η ανάπτυξη του παίρνει πολύτιμο χρόνο.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Παρακαλούμε &lt;a href=&apos;%1%&apos;&gt;κάνετε δωρεά&lt;/a&gt; για να υποστηρίξετε την συνεχόμενη ανάπτυξη του %2.</translation>
+        <translation>ΠαÏ\81ακαλοÏ\8dμε &lt;a href=&apos;%1%&apos;&gt;κάνεÏ\84ε Î¼Î¹Î± Î´Ï\89Ï\81εά&lt;/a&gt; Î³Î¹Î± Î½Î± Ï\85Ï\80οÏ\83Ï\84ηÏ\81ίξεÏ\84ε Ï\84ην Ï\83Ï\85νεÏ\87Ï\8cμενη Î±Î½Î¬Ï\80Ï\84Ï\85ξη Ï\84οÏ\85 %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Μπορείτε να θέλετε να δοκιμάσετε και τις άλλες μου εφαρμογές:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ένας αναπαραγωγέας μουσικής του YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, ένας αναπαραγωγέας μουσικής</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Μεταφράστε το %1 στη γλώσσα σας με χρήση του %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Σχεδιασμός εικονιδίου από %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation>Έκδοση κάτω απο τους όρους της &lt;a href=&apos;%1&apos;&gt;Γενικής Άδειας Χρήσης GNU&lt;/a&gt;</translation>
+        <translation>Έκδοση υπό τους όρους της &lt;a href=&apos;%1&apos;&gt;Γενικής Άδειας Χρήσης GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Κλείσιμο</translation>
     </message>
         <source>About</source>
         <translation>Σχετικά</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Ότι θέλατε να μάθετε σχετικά με το %1 και δεν τολμούσατε να ρωτήσετε</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation>Î\95ιÏ\83άγεÏ\84ε Ï\84ιÏ\82 Î\9bεÏ\80Ï\84ομέÏ\81ειεÏ\82 Ï\84ηÏ\82 Î\86δειαÏ\82 Î§ρήσης</translation>
+        <translation>Î\95ιÏ\83άγεÏ\84ε Ï\84ιÏ\82 Î»ÎµÏ\80Ï\84ομέÏ\81ειεÏ\82 Ï\84ηÏ\82 Î¬Î´ÎµÎ¹Î±Ï\82 Ï\87ρήσης</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation>&amp;Email:</translation>
+        <translation>&amp;Ηλ. αλληλογραφία:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
     <message>
         <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>ΧÏ\81ήÏ\83η Ï\84ηÏ\82 Î\94οκιμαÏ\83Ï\84ικήÏ\82 Î\88κδοσης</translation>
+        <translation>ΧÏ\81ήÏ\83η Ï\84ηÏ\82 Î´Î¿ÎºÎ¹Î¼Î±Ï\83Ï\84ικήÏ\82 Î­κδοσης</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation>Î\95ιÏ\83αγÏ\89γή Î\86δειαÏ\82 Î§ρήσης</translation>
+        <translation>Î\95ιÏ\83αγÏ\89γή Î¬Î´ÎµÎ¹Î±Ï\82 Ï\87ρήσης</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
-        <translation>Î\91γοÏ\81ά Î\86δειαÏ\82 Î§ρήσης</translation>
+        <translation>Î\91γοÏ\81ά Î¬Î´ÎµÎ¹Î±Ï\82 Ï\87ρήσης</translation>
     </message>
 </context>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Από %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Έχετε %n νέο-α βίντεο</numerusform><numerusform>Έχετε %n νέο-α βίντεο</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
-        <translation>Î\8cλα Ï\84α Î\92ίντεο</translation>
+        <translation>Î\8cλα Ï\84α Î²ίντεο</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
-        <translation>Î\9cη Î Î±Ï\81ακολοÏ\85θημένα Î\92ίντεο</translation>
+        <translation>Î\9cη Î¹Î´Ï\89μένα Î²ίντεο</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="src/channelview.cpp" line="159"/>
         <source>Show Updated</source>
-        <translation>Î\95μÏ\86άνιÏ\83η Î\95νημερωμένων</translation>
+        <translation>Î\95μÏ\86άνιÏ\83η Îµνημερωμένων</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="103"/>
     <message>
         <location filename="src/channelview.cpp" line="110"/>
         <source>Last Updated</source>
-        <translation>ΤελεÏ\85Ï\84αία Î\95νημερωμένα</translation>
+        <translation>ΤελεÏ\85Ï\84αία Îµνημερωμένα</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="117"/>
         <source>Last Added</source>
-        <translation>Τελευταία Προστηθέντα</translation>
+        <translation>Τελευταία προστιθέμενα</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="124"/>
         <source>Last Watched</source>
-        <translation>ΤελεÏ\85Ï\84αίο Î Ï\81οβληθένÏ\84α</translation>
+        <translation>ΤελεÏ\85Ï\84αία Î¹Î´Ï\89μένα</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="131"/>
         <source>Most Watched</source>
-        <translation>Πιο Î Î±Ï\81ακολοÏ\85θημένα</translation>
+        <translation>ΠεÏ\81ιÏ\83Ï\83Ï\8cÏ\84εÏ\81ο Î¹Î´Ï\89μένα</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="139"/>
         <translation>Ταξινόμηση κατά</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
-        <translation>Î\8cλα Ï\84α Î\92ίντεο</translation>
+        <translation>Î\8cλα Ï\84α Î²ίντεο</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
-        <translation>Î\9cη Î Î±Ï\81ακολοÏ\85θημένα Î\92ίντεο</translation>
+        <translation>Î\9cη Î¹Î´Ï\89μένα Î²ίντεο</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
-        <translation>ΣήμανÏ\83η Ï\89Ï\82 Î Î±Ï\81ακολοÏ\85θημένο</translation>
+        <translation>ΣήμανÏ\83η Ï\89Ï\82 Î¹Î´Ï\89μένο</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Κατάργηση εγγραφής</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Δεν υπάρχουν ενημερωμένες συδρομές αυτήν την στιγμή.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Δεν έχετε συνδρομές. Χρησιμοποιήστε το αστέρι για να κάνετε συνδρομή σε κανάλια.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Εκκαθάριση</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Μόλις τώρα</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>Πριν από %n λεπτό-ά</numerusform><numerusform>Πριν από %n λεπτό-ά</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>Πριν %n ώρα-ες</numerusform><numerusform>Πριν %n ώρα-ες</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>Πριν %n ημέρα-ες</numerusform><numerusform>Πριν %n ημέρα-ες</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>Πριν %n εβδομάδα-ες</numerusform><numerusform>Πριν %n εβδομάδα-ες</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>Πριν %n μήνα-ες</numerusform><numerusform>Πριν %n μήνα-ες</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
         <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
-        <translation>bytes</translation>
+        <translation>byte</translation>
     </message>
     <message>
         <location filename="src/downloaditem.cpp" line="409"/>
     <message>
         <location filename="src/downloaditem.cpp" line="421"/>
         <source>bytes/sec</source>
-        <translation>bytes/δευτ</translation>
+        <translation>byte/δευτ</translation>
     </message>
     <message>
         <location filename="src/downloaditem.cpp" line="424"/>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Αυτή είναι απλά η δοκιμαστική έκδοση του %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Î\9cÏ\80οÏ\81εί Î½Î± ÎºÎ±Ï\84εβάÏ\83ει Î²Î¯Î½Ï\84εο Î¼Î¹ÎºÏ\81Ï\8cÏ\84εÏ\81α Î±Ï\80Ï\8c %1 Î»ÎµÏ\80Ï\84ά Ï\8eÏ\83Ï\84ε Î½Î± Î´Î¿ÎºÎ¹Î¼Î¬Ï\83εÏ\84ε Ï\84η Î»ÎµÎ¹Ï\84οÏ\85Ï\81γία ÎºÎ±Ï\84εβάÏ\83μαÏ\84ος.</translation>
+        <translation>Î\9cÏ\80οÏ\81εί Î½Î± ÎºÎ¬Î½ÎµÎ¹ Î»Î®Ï\88η Î²Î¯Î½Ï\84εο Î¼Î¹ÎºÏ\81Ï\8cÏ\84εÏ\81α Î±Ï\80Ï\8c %1 Î»ÎµÏ\80Ï\84ά Ï\8eÏ\83Ï\84ε Î½Î± Î´Î¿ÎºÎ¹Î¼Î¬Ï\83εÏ\84ε Ï\84η Î»ÎµÎ¹Ï\84οÏ\85Ï\81γία Î»Î®Ï\88ης.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Συνέχεια</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
-        <translation>Αποκτήστε τη πλήρη έκδοση</translation>
+        <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 λήφθηκε σε %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Η λήψη ολοκληρώθηκε</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Λήψη</numerusform><numerusform>%n Λήψεις</numerusform></translation>
+        <translation><numerusform>%n Λήψη-εις</numerusform><numerusform>%n Λήψη-εις</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Αλλάξτε τοποθεσία...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Επιλέξτε την τοποθεσία λήψης</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Η τοποθεσία λήψης άλλαξε.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Τα ήδη ληφθέντα θα παραμείνουν στην προηγούμενη τοποθεσία.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Λήψη στο: %1</translation>
     </message>
         <translation>Λήψη ενημερώσεων...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Το εκτελέσιμο αρχείο έχει κακοποιηθεί, ίσως πρόκειται για ιό.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>Το %1 δεν θα εκτελεσθεί. Δοκιμάστε να το εγκαταστήσετε εκ νέου.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Έξοδος</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Επανεγκατάσταση</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Συδρομές σε κανάλια</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Βολευτείτε</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Σφάλμα</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Διακοπή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Διακοπή αναπαραγωγής και επιστροφή στη προβολή αναζήτησης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Παράλειψη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Μετάβαση στο επόμενο βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Παύση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Παύση αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
-        <translation>&amp;ΠλήÏ\81ηÏ\82 Î\9fθόνη</translation>
+        <translation>&amp;ΠλήÏ\81ηÏ\82 Î¿θόνη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Προβολή σε πλήρη οθόνη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Απόκρυψη της λίστας αναπαραγωγής και της εργαλειοθήκης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Μετάβαση στη σελίδα βίντεο του YouTube και παύση αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Αντιγραφή του συνδεσμού του τρέχοντος βίντεο YouTube στο πρόχειρο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Αντιγραφή του συνδέσμου της τρέχουσας ροής βίντεο στη μνήμη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Εύρεση των υπόλοιπων επισοδείων του βίντεο, ελπίζουμε στη σωστή σειρά</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Αφαίρεση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Αφαίρεση επιλεγμένων βίντεο απο την λίστα αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
-        <translation>Μετακίνηση προς τα &amp;Πάνω</translation>
+        <translation>Μετακίνηση προς τα &amp;πάνω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Μετακίνηση επιλεγμένων βίντεο προς τα πάνω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
-        <translation>Î\9cεÏ\84ακίνηÏ\83η Ï\80Ï\81οÏ\82 Ï\84α &amp;Î\9aάτω</translation>
+        <translation>Î\9cεÏ\84ακίνηÏ\83η Ï\80Ï\81οÏ\82 Ï\84α &amp;κάτω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Μετακίνηση επιλεγμένων βίντεο προς τα κάτω</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Εκκαθάριση του ιστορικού αναζήτησης. Αυτή η ενέργεια δε μπορεί να αναιρεθεί.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>Έ&amp;ξοδος</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Αντίο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Ιστοχώρος</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>Το %1 στο διαδίκτυο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Παρακαλούμε υποστηρίξτε την συνεχόμενη ανάπτυξη του %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Σχετικά</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Πληροφορίες για το %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Σίγαση ήχου</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Λήψεις</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Εμφάνιση λεπτομερειών για τις λήψεις βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Λήψη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Λήψη του τρέχοντος βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
-        <translation>Λήψη &amp;Στιγμιότυπου</translation>
+        <translation>Λήψη &amp;στιγμιότυπου</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
-        <translation>&amp;Î\95γγÏ\81αÏ\86ή Ï\83Ï\84ο Î\9aανάλι</translation>
+        <translation>&amp;Î\95γγÏ\81αÏ\86ή Ï\83Ï\84ο Îºανάλι</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Κοινοποίηση του τρέχοντος βίντεο μέσω %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
-        <translation>&amp;Email</translation>
+        <translation>&amp;Ηλ. αλληλογραφία</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
-        <translation>Email</translation>
+        <translation>Ηλ. αλληλογραφία</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Κλείσιμο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
-        <translation>&amp;Î\94ιαÏ\84ήÏ\81ηÏ\83η Ï\83Ï\84ην Î\9aορυφή</translation>
+        <translation>&amp;Î\94ιαÏ\84ήÏ\81ηÏ\83η Ï\83Ï\84ην Îºορυφή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Προσαρμογή του μεγέθους του παραθύρου</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
-        <translation>&amp;Î\94ιακοÏ\80ή Î\9cεÏ\84ά Î\91Ï\80Ï\8c Î\91Ï\85Ï\84Ï\8c Ï\84ο Î\92ίντεο</translation>
+        <translation>&amp;Î\94ιακοÏ\80ή Î¼ÎµÏ\84ά Î±Ï\80Ï\8c Î±Ï\85Ï\84Ï\8c Ï\84ο Î²ίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
-        <translation>&amp;Αναφέρετε Σφάλμα...</translation>
+        <translation>&amp;Αναφέρετε σφάλμα...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
-        <translation>&amp;ΣÏ\8dνθεÏ\84η Î\91ναζήτηση...</translation>
+        <translation>&amp;ΣÏ\8dνθεÏ\84η Î±ναζήτηση...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Περισσότερα...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Σχετικά βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Παρακολουθήστε βίντεο που σχετίζονται με το τρέχον</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Άνοιγμα σε &amp;Περιηγητή...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
-        <translation>&amp;Λατρεύετε το %1? Βαθμολογήστε το!</translation>
+        <translation>&amp;Λατρεύετε το %1; Βαθμολογήστε το!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Αγοράστε το %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Αναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Λ&amp;ίστα αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>Βίν&amp;τεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Προβολή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Κοινοποίηση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Βοήθεια</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Πατήστε %1 για να αυξήσετε την ένταση, %2 για να την χαμηλώσετε</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Άνοιγμα %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Θέλετε να κλείσετε το %1 ενώ βρίσκεται μια λήψη σε εξέλιξη;</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Αν κλείσετε το %1 τώρα, η λήψη θα ακυρωθεί.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Κλείσιμο και ακύρωση λήψης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Αναμονή ολοκλήρωσης λήψης</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Φόρτωση...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
-        <translation>Έξοδος από &amp;Πλήρη Οθόνη</translation>
+        <translation>Έξοδος από &amp;πλήρη οθόνη</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Η έκδοση %2 του %1 έχει γίνει διαθέσιμη.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Υπενθύμιση αργότερα</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Ενημέρωση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Σφάλμα: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Π&amp;ροηγούμενο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Επιστροφή στο προηγούμενο κομμάτι</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Συμπαγής εμφάνιση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Άνοιγμα στην Ιστοσελίδα του &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
-        <translation>Αντιγραφή του &amp;Συνδεσμού YouTube</translation>
+        <translation>Αντιγραφή του &amp;συνδέσμου YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Αντιγραφή του &amp;Συνδέσμου της Ροής Βίντεο</translation>
+        <translation>Αντιγραφή του &amp;συνδέσμου της ροής βίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Î\91ναζήÏ\84ηÏ\83η Ï\84Ï\89ν &amp;Î\95Ï\80ειÏ\83οδίÏ\89ν Ï\84οÏ\85 Î\92ίντεο</translation>
+        <translation>Î\91ναζήÏ\84ηÏ\83η Ï\84Ï\89ν &amp;εÏ\80ειÏ\83οδίÏ\89ν Ï\84οÏ\85 Î²ίντεο</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Εκκαθάριση Πρόσφατων Αναζητήσεων</translation>
+        <translation>&amp;Εκκαθάριση πρόσφατων αναζητήσεων</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
-        <translation>Î\9aάνÏ\84ε Î¼Î¹Î± &amp;Î\94ωρεά</translation>
+        <translation>Î\9aάνÏ\84ε Î¼Î¹Î± &amp;δωρεά</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
-        <translation>Î\95κκίνηÏ\83η Ï\84ηÏ\82 Î\91ναÏ\80αÏ\81αγÏ\89γήÏ\82 &amp;Χειροκίνητα</translation>
+        <translation>Î\95κκίνηÏ\83η Ï\84ηÏ\82 Î±Î½Î±Ï\80αÏ\81αγÏ\89γήÏ\82 &amp;Ï\87ειροκίνητα</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Εκκίνηση αναπαραγωγής των βίντεο χειροκίνητα</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Επιλέξτε την τοποθεσία για το περιεχόμενό σας </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Α&amp;ναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Συνέχεια αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Υπολειπόμενος χρόνος: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Ένταση στο %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Σίγαση</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Η ένταση αποκαταστάθηκε</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>H μέγιστη ανάλυση βίντεο τέθηκε σε %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Η ιδιωτικότητα σας είναι τώρα ασφαλής</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Οι λήψεις ολοκληρώθηκαν</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Τώρα μπορείτε να επικολλήσετε τον συνδεσμό του YouTube σε κάποια άλλη εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Τώρα μπορείτε να επικολλήσετε τον σύνδεσμο της ροής βίντεο σε κάποια άλλη εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Ο σύνδεσμος θα είναι έγκυρος για περιορισμένο χρονικό διάστημα.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Αυτή είναι απλά μια δοκιμαστική έκδοση του %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Σαε επιτρέπει να δοκιμάσετε την εφαρμογή και να δείτε αν σας κάνει.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Συνέχεια</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>από</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>μέρος</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>επεισόδιο</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Αποστολή από %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Κατάργηση εγγραφής στο %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Εγγραφή στο %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Διεγράφη από το %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Εγγραφή στο %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε τη πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Λήψη %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation>ΠαÏ\81άλειÏ\88η Î\91Ï\85Ï\84ήÏ\82 Ï\84ηÏ\82 Î\88κδοσης</translation>
+        <translation>ΠαÏ\81άλειÏ\88η Î±Ï\85Ï\84ήÏ\82 Ï\84ηÏ\82 Î­κδοσης</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation>Î¥Ï\80ενθÏ\8dμιÏ\83ε Ï\84ο Î¼Î¿Ï\85 Î\91ργότερα</translation>
+        <translation>Î¥Ï\80ενθÏ\8dμιÏ\83ε Ï\84ο Î¼Î¿Ï\85 Î±ργότερα</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation>Î\95γκαÏ\84άÏ\83Ï\84αÏ\83η Î\95νημέρωσης</translation>
+        <translation>Î\95γκαÏ\84άÏ\83Ï\84αÏ\83η Îµνημέρωσης</translation>
     </message>
 </context>
 <context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 προβολές</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 από %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Προετοιμάζεται</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Απέτυχε</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Ολοκληρώθηκε</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Διακόπηκε</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Διακοπή λήψης</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Εμφάνιση σε %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Άνοιγμα γονικού φακέλου</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Επανεκκίνηση λήψης</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Αναζήτηση...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Εμφάνιση %1 ακόμα</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Κανένα βίντεο</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Δεν υπάρχουν άλλα βίντεο</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ταξινόμηση κατά ...</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Σχετικότητα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Ημερομηνία</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
-        <translation>Αριθμό Προβολών</translation>
+        <translation>Αριθμό προβολών</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Βαθμολογία</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Οποτεδήποτε</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Σήμερα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>Εβδομάδα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>Μήνας</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Διάρκεια</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Όλα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Μικρή</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Μέτρια</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Μεγάλη</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Λιγότερη από 4 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Μεταξύ 4 και 20 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Μεγαλύτερη από 20 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Ποιότητα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Υψηλή Ανάλυση</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p και μεγαλύτερη</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Έγινε</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Αναζήτηση</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Καλωσορίσατε στο &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
-        <translation>Αποκτήστε τη πλήρη έκδοση</translation>
+        <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Εισάγετε</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>μια λέξη-κλειδί</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>ένα κανάλι</translation>
     </message>
         <translation>για να αρχίσετε να βλέπετε βίντεο.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Παρακολουθήστε</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Πρόσφατες λέξεις-κλειδιά</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Πρόσφατα κανάλια</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Επιστροφή</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Προώθηση σε %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Επιστροφή στο %1</translation>
     </message>
         <translation>Σύνθετη Αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Μήπως εννοείτε: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Αλλάξτε τοποθεσία...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Το στιγμιότυπο αποθηκεύτηκε σε %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Η τοποθεσία για στιγμιότυπα άλλαξε.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
-        <translation>Πιο Î\94ημοφιλή</translation>
+        <translation>Πιο Î´ημοφιλή</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Αδυναμία λήψης της ροής βίντεο για το %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Σφάλμα δικτύου: %1 για %2</translation>
     </message>
index d9b67e8cfaeec1bc4a3faaac20d0c0c41103a6d1..9a66576359a928619f4028c2a352a77e22880a4d 100644 (file)
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="en_US" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_US">
 <context>
-    <name>AboutView</name>
-    <message>
-        <location filename="../src/AboutView.cpp" line="21"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="22"/>
-        <source>Version %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="25"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="26"/>
-        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="29"/>
-        <source>Report bugs and send in your ideas to %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="33"/>
-        <source>Icon designed by %1.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="34"/>
-        <source>Compact mode contributed by %1.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="35"/>
-        <source>HTTP proxy support contributed by %1.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="38"/>
-        <source>Translated by %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="66"/>
-        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.cpp" line="78"/>
-        <source>&amp;Close</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.h" line="18"/>
-        <source>About</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/AboutView.h" line="20"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="../src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation/>
+    <name>ChannelAggregator</name>
+    <message numerus="yes">
+        <location filename="../src/channelaggregator.cpp" line="185"/>
+        <source>You have %n new video(s)</source>
+        <translation type="unfinished">
+            <numerusform>You have one new video</numerusform>
+            <numerusform>You have %n new videos</numerusform>
+        </translation>
     </message>
 </context>
 <context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="295"/>
-        <source>bytes</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="298"/>
-        <source>KB</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="301"/>
-        <source>MB</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="317"/>
-        <source>bytes/sec</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="320"/>
-        <source>KB/sec</source>
-        <translation/>
+    <name>DataUtils</name>
+    <message numerus="yes">
+        <location filename="../src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished">
+            <numerusform>A minute ago</numerusform>
+            <numerusform>%n minutes ago</numerusform>
+        </translation>
     </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="323"/>
-        <source>MB/sec</source>
-        <translation/>
+    <message numerus="yes">
+        <location filename="../src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished">
+            <numerusform>An hour ago</numerusform>
+            <numerusform>%n hours ago</numerusform>
+        </translation>
     </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="329"/>
-        <source>seconds</source>
-        <translation/>
+    <message numerus="yes">
+        <location filename="../src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished">
+            <numerusform>Yesterday</numerusform>
+            <numerusform>%n days ago</numerusform>
+        </translation>
     </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="332"/>
-        <source>minutes</source>
-        <translation/>
+    <message numerus="yes">
+        <location filename="../src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished">
+            <numerusform>A week ago</numerusform>
+            <numerusform>%n weeks ago</numerusform>
+        </translation>
     </message>
-    <message>
-        <location filename="../src/downloaditem.cpp" line="335"/>
-        <source>%4 %5 remaining</source>
-        <translation/>
+    <message numerus="yes">
+        <location filename="../src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished">
+            <numerusform>A month ago</numerusform>
+            <numerusform>%n months ago</numerusform>
+        </translation>
     </message>
 </context>
 <context>
     <name>DownloadManager</name>
-    <message>
-        <location filename="../src/downloadmanager.cpp" line="47"/>
-        <source>This is just the demo version of %1.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadmanager.cpp" line="49"/>
-        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadmanager.cpp" line="53"/>
-        <source>Continue</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadmanager.cpp" line="54"/>
-        <source>Get the full version</source>
-        <translation/>
-    </message>
     <message numerus="yes">
-        <location filename="../src/downloadmanager.cpp" line="126"/>
+        <location filename="../src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>1 Download</numerusform><numerusform>%n Downloads</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="../src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadsettings.cpp" line="38"/>
-        <source>Choose the download location</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadsettings.cpp" line="49"/>
-        <source>Download location changed.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadsettings.cpp" line="51"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/downloadsettings.cpp" line="63"/>
-        <source>Downloading to: %1</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>DownloadView</name>
-    <message>
-        <location filename="../src/downloadview.cpp" line="18"/>
-        <location filename="../src/downloadview.h" line="22"/>
-        <source>Downloads</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="../src/ListModel.cpp" line="47"/>
-        <source>Searching...</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/ListModel.cpp" line="48"/>
-        <source>Show %1 More</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/ListModel.cpp" line="49"/>
-        <source>No videos</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/ListModel.cpp" line="50"/>
-        <source>No more videos</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="../src/loadingwidget.cpp" line="71"/>
-        <source>Error</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="105"/>
-        <source>&amp;Stop</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="106"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="112"/>
-        <source>S&amp;kip</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="113"/>
-        <source>Skip to the next video</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="119"/>
-        <location filename="../src/MainWindow.cpp" line="644"/>
-        <source>&amp;Pause</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="120"/>
-        <location filename="../src/MainWindow.cpp" line="645"/>
-        <source>Pause playback</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="126"/>
-        <location filename="../src/MainWindow.cpp" line="728"/>
-        <source>&amp;Full Screen</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="127"/>
-        <source>Go full screen</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="136"/>
-        <source>&amp;Compact mode</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="137"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="145"/>
-        <source>Open the &amp;YouTube page</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="146"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="152"/>
-        <source>Copy the YouTube &amp;link</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="153"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="159"/>
-        <source>Copy the video stream &amp;URL</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="160"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="166"/>
-        <source>&amp;Remove</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="167"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="173"/>
-        <source>Move &amp;Up</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="174"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="180"/>
-        <source>Move &amp;Down</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="181"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="187"/>
-        <source>&amp;Clear recent searches</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="192"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="197"/>
-        <source>&amp;Quit</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="199"/>
-        <source>Ctrl+Q</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="200"/>
-        <source>Bye</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="204"/>
-        <source>&amp;Website</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="206"/>
-        <source>%1 on the Web</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="210"/>
-        <source>Make a &amp;donation</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="211"/>
-        <source>Please support the continued development of %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="215"/>
-        <source>&amp;About</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="217"/>
-        <source>Info about %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="225"/>
-        <source>Search</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="244"/>
-        <source>Mute volume</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="246"/>
-        <source>Ctrl+M</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="277"/>
-        <location filename="../src/MainWindow.cpp" line="959"/>
-        <source>&amp;Downloads</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
-        <source>Show details about video downloads</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="286"/>
-        <source>&amp;Download</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="287"/>
-        <source>Download the current video</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="328"/>
-        <source>&amp;Application</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="336"/>
-        <source>&amp;Playlist</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="343"/>
-        <source>&amp;Video</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="362"/>
-        <source>&amp;Help</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="439"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="578"/>
-        <location filename="../src/MainWindow.cpp" line="584"/>
-        <source>Opening %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="597"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="598"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="601"/>
-        <source>Close and cancel download</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="602"/>
-        <source>Wait for download to finish</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="635"/>
-        <source>Fatal error: %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="637"/>
-        <source>Error: %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="660"/>
-        <source>&amp;Play</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="661"/>
-        <source>Resume playback</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="751"/>
-        <source>Exit &amp;Full Screen</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="834"/>
-        <source>Remaining time: %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="892"/>
-        <source>Volume at %1%</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="898"/>
-        <source>Volume is muted</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="901"/>
-        <source>Volume is unmuted</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="908"/>
-        <source>Maximum video definition set to %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="944"/>
-        <source>Your privacy is now safe</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="960"/>
-        <source>Downloads complete</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="../src/MediaView.cpp" line="33"/>
-        <source>Most relevant</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="40"/>
-        <source>Most recent</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="47"/>
-        <source>Most viewed</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="489"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="497"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="498"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="594"/>
-        <source>This is just the demo version of %1.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="595"/>
-        <source>It allows you to test the application and see if it works for you.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="598"/>
-        <source>Continue</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="599"/>
-        <source>Get the full version</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/MediaView.cpp" line="625"/>
-        <source>Downloading %1</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="../src/networkaccess.cpp" line="258"/>
-        <source>Network error: %1</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="156"/>
-        <source>%1 views</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="286"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="293"/>
-        <source>Preparing</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="295"/>
-        <source>Failed</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>Completed</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="299"/>
-        <source>Stopped</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="335"/>
-        <source>Stop downloading</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="345"/>
-        <source>Show in %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="347"/>
-        <source>Open parent folder</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Restart downloading</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="../src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="../src/SearchView.cpp" line="74"/>
-        <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="41"/>
-        <source>Get the full version</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="88"/>
-        <source>Enter</source>
-        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole frase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="93"/>
-        <source>a keyword</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="94"/>
-        <source>a channel</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="99"/>
-        <source>to start watching videos.</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="124"/>
-        <source>Watch</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="141"/>
-        <source>Recent keywords</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="159"/>
-        <source>Recent channels</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.cpp" line="358"/>
-        <source>A new version of %1 is available. Please &lt;a href=&apos;%2&apos;&gt;update to version %3&lt;/a&gt;</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/SearchView.h" line="35"/>
-        <source>Make yourself comfortable</source>
-        <translation/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="../src/video.cpp" line="186"/>
-        <source>Cannot get video stream for %1</source>
-        <translation/>
-    </message>
-    <message>
-        <location filename="../src/video.cpp" line="204"/>
-        <source>Network error: %1 for %2</source>
-        <translation/>
+        <translation type="unfinished">
+            <numerusform>One Download</numerusform>
+            <numerusform>%n Downloads</numerusform>
+        </translation>
     </message>
 </context>
-</TS>
\ No newline at end of file
+</TS>
index 3f89799a357331029eceb2696b9feca06a37710e..e16f9fce9dd4d5cea5c466c6d0c533908363c9dd 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="es" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="es" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>¡Hay vida más allá del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Con licencia para: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es software libre, pero su desarrollo supone un tiempo muy valioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Haga una &lt;a href=&apos;%1&apos;&gt;donación&lt;/a&gt; para ayudar a continuar el desarrollo de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Quizá también quiera probar mis otras aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduzca %1 a su idioma natal usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icono diseñado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Publicado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que siempre quisiste saber acerca de %1 y nunca te atreviste a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Por %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Tiene %n video nuevo!</numerusform><numerusform>Tienes %n videos(s) nuevos!</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Todos los vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos sin ver</translation>
     </message>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Todos los vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos sin ver</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marcar como visto</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Cancelar suscripción</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>No hay suscripciones actualizadas en este momento.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>No se ha suscrito a ningún canal. Use el símbolo de la estrella para suscribirse a los canales.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Vaciar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Justo Ahora</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>Hace 1 minuto</numerusform><numerusform>Hace %n minutos</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>Hace 1 hora</numerusform><numerusform>Hace %n horas</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>Hace 1 dia</numerusform><numerusform>Hace %n dias</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>Hace 1 semana</numerusform><numerusform>Hace %n semanas</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>Hace 1 mes</numerusform><numerusform>Hace %n meses</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es solo la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Solo puede descargar vídeos de duración menor que %1 minutos para que pueda probar la función de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargados en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargas</numerusform></translation>
+        <translation><numerusform>%n descarga(s)</numerusform><numerusform>%n descarga(s)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación…</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Elija la ubicación de las descargas</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Ubicación para descargas modificada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargas en curso irán a la ubicación anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Descargando a: %1</translation>
     </message>
         <translation>Descargando la actualización…</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>El archivo ejecutable ha sido alterado, tal vez por un virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 no se ejecutará. Trate de instalar  nuevamente.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Cerrar</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Reinstalar</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Suscripciones a canales</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Póngase cómodo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener la reproducción y volver a la búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Omitir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Omitir vídeo y saltar al siguiente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar la lista de reproducción y la barra de herramientas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir a la página del vídeo en YouTube y pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar el enlace de YouTube del vídeo actual en el portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar la URL actual del flujo del vídeo al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Encontrar otras partes de vídeos, con suerte en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Eliminar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Quitar los vídeos seleccionados de la lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>&amp;Subir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover hacia arriba en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Bajar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover hacia abajo en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpiar el historial de búsquedas. No se puede deshacer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Hasta luego</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Sitio web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 en la web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Porfavor apoye el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles sobre las descargas de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Descargar el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Tomar &amp;captura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Suscribirse al canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartir el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flotar en la parte superior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Ajustar tamaño de la ventana</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Detener tras este vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informar de un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar la búsqueda...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Más…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver videos relacionados con el actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Abrir en &amp;Navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>¿&amp;Le gusta %1? ¡Valórelo!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Comprar %1…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reprod.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pulse %1 para aumentar el volumen o %2 para reducirlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>¿Quiere salir de %1 con una descarga en curso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si cierra %1 ahora, esta descarga será cancelada.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Esperando a que finalice la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Cargando...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Salir de pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versión %2 ya está disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Regresar a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el en&amp;lace de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar el &amp;URL de flujo del vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar &amp;partes de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpiar búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Comenzar la reproducción &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Comenzar la reproducción de vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Elija su ubicación para el contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continuar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>El volumen está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>El volumen no está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolución máxima de video establecida en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Su privacidad ahora está asegurada
 </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descargas completas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora puede pegar el enlace de YouTube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ahora puede pegar la URL del flujo de vídeo en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>El enlace es válido solo por un tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esto es solo la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Le permite probar la aplicación y ver si le funciona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Cancelar suscripción a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Suscribirse a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Desuscrito de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Suscrito a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 reproducciones</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Detener la descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir carpeta contenedora</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar la descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Buscando…</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>No hay vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>No hay más vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Número de vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Valoración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Cualquier momento</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Corto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayor a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Hecho</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Escriba</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>para empezar a ver vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Palabras clave recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Atrás</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Reenviar a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Regresar a %1</translation>
     </message>
         <translation>Refinar la búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Quizá quiso decir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación…</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Se guardó la captura en %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Se modificó la ubicación de las capturas.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Más populares</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>No se puede obtener el flujo de vídeo para %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 por %2</translation>
     </message>
index ba43d1d01ebbb814709b24ea3e3e44b9bfca5041..91e8c863a02b073a805c91b024fac12a5641c523 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_AR" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_AR" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
-        <translation>Hay vida más allá del navegador!</translation>
+        <translation>¡Hay vida más allá del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licencia para: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 es Software Libre pero su desarrollo lleva precioso tiempo.</translation>
+        <translation>%1 es Software Libre pero su desarrollo lleva tiempo valioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Por favor, &lt;a href=&apos;%1&apos;&gt;dóna&lt;/a&gt; para apoyar el desarrollo continuo de %2.</translation>
+        <translation>Por favor, &lt;a href=&apos;%1&apos;&gt;done&lt;/a&gt; para apoyar el desarrollo continuo de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
-        <translation>Tal vez querrás probar mis otras aplicaciones como:</translation>
+        <translation>Tal vez querrá probar mis otras aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduce %1 a tu idioma natal usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Iconos diseñados por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation>Desarrollado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General de GNU&lt;/a&gt;</translation>
+        <translation>Publicado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General de GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que siempre quisiste saber de %1 y nunca te animaste a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation>Introduzca los detalles de la licencia</translation>
+        <translation>Introduzca los detalles de su licencia</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation>Correo &amp;electrónico:</translation>
+        <translation>&amp;Correo electrónico:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
     <message>
         <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Por favor autoricé %1</translation>
+        <translation>Por favor autorice %1</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Esta prueba ha vencido</translation>
+        <translation>Esta prueba ha vencido.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to watch videos without interruptions.</source>
         <oldsource>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</oldsource>
-        <translation type="unfinished"/>
+        <translation>La versión completa le permite ver videos sin interrupciones.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Usted tiene %n Nuevo(s) Video(s)</numerusform><numerusform>Usted tiene %n Nuevo(s) Video(s)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
-        <translation type="unfinished"/>
+        <translation>Todos los videos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
-        <translation type="unfinished"/>
+        <translation>Videos no vistos</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="src/channelview.cpp" line="151"/>
         <source>Mark all as watched</source>
-        <translation type="unfinished"/>
+        <translation>Marcar todos como vistos</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="159"/>
         <source>Show Updated</source>
-        <translation type="unfinished"/>
+        <translation>Show actualizado</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="103"/>
         <source>Name</source>
-        <translation type="unfinished"/>
+        <translation>Nombre</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="110"/>
         <source>Last Updated</source>
-        <translation type="unfinished"/>
+        <translation>Última vez actualizado</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="117"/>
         <source>Last Added</source>
-        <translation type="unfinished"/>
+        <translation>Último añadido</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="124"/>
         <source>Last Watched</source>
-        <translation type="unfinished"/>
+        <translation>Último visto</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="131"/>
         <source>Most Watched</source>
-        <translation type="unfinished"/>
+        <translation>Más visto</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="139"/>
         <translation>Sortear por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
-        <translation type="unfinished"/>
+        <translation>Todos los videos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
-        <translation type="unfinished"/>
+        <translation>Videos no vistos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
-        <translation type="unfinished"/>
+        <translation>Marcar como Visto</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
-        <translation type="unfinished"/>
+        <translation>Cancelar suscripción</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
-        <translation type="unfinished"/>
+        <translation>No hay actualizaciones a sus suscripciones en este momento</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
-        <translation type="unfinished"/>
+        <translation>No tiene suscripciones. Haga click en el ícono de la estrella para suscribirse a un canal</translation>
     </message>
 </context>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Limpiar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Justo Ahora</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es sólo una versión de demostración de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Sólo se pueden bajar videos de menos de %1 minutos, para probar la funcionalidad de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Consigue la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Descarga(s)</numerusform><numerusform>%n Descarga(s)</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambiar destino...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Elegir el destino de la descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Destino de la descarga cambiado.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargas en curso van a seguir bajándose al destino anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Bajando al: %1</translation>
     </message>
         <translation>Descargando actualización…</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     <message>
         <location filename="src/homeview.cpp" line="71"/>
         <source>Subscriptions</source>
-        <translation type="unfinished"/>
+        <translation>Suscripciones</translation>
     </message>
     <message>
         <location filename="src/homeview.cpp" line="73"/>
         <source>Channel subscriptions</source>
-        <translation type="unfinished"/>
+        <translation>Mis suscripciones</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Personalizar</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener la reproducción y volver a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Saltar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Saltar al siguiente video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Esconder la lista de reproducción y la barra de herramientas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir al video en YouTube y pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar el enlace de YouTube del video actual al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar la URL del stream del video al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Encuentra las otras partes del video con suerte en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Borrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Borrar los videos seleccionados de la lista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mover hacia &amp;arriba</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover hacia arriba los videos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mover hacia &amp;abajo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover hacia abajo los videos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Eliminar el historial de búsqueda. No se puede deshacer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adiós</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Sitio web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 en la Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor apoya el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Información sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles sobre la descarga de videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Bajar video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Bajar el video actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
-        <translation type="unfinished"/>
+        <translation>Tomar &amp;Captura de pantalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Suscribirse al canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartí el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Siempre Visible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Finalizar Después de este Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar un inconveniente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Más...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Vídeos relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Mirar vídeos relacionados al vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
-        <translation type="unfinished"/>
+        <translation>Abrir en &amp;Navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Programa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Con %1 para subir el volumen, con %2 para bajarlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Seguro que quieres salir de %1 con una descarga en progreso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si cierras %1 ahora, la descarga se va a cancelar.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Esperar a que termine la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de &amp;Pantalla Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versión %2 está ahora disponible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Recordármelo después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Volver a la pista previa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo Compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el enlace de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar Video &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar Video &amp;Partes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Borrar las búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Iniciar Reproducción Manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Empezar a reproducir videos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Selecciona la localidad de tu contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continuar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volumen silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volumen activo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definición máxima de video ajustada en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Tu privacidad ahora está segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descarga completa</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora puedes pegar el enlace de YouTube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ahora podés pegar la URL del stream en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>El enlace va a ser válido sólo por un tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es sólo la versión de demostración de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Te permite probar la aplicación y ver si te funciona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
-        <translation type="unfinished"/>
+        <translation>Cancelar suscripción a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
+        <translation>Suscribirse a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Conseguir la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visitas</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 of %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Detener descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir carpeta relacionada</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Buscando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>No hay videos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>No hay más vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortear por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Contador de Visitas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Calificación</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Histórico</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Cortos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medianos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Largos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menores que 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayores a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta Definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Finalizado</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Conseguir la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Escribir</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>para empezar a ver videos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Atrás</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avanzar a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Retroceder a %1</translation>
     </message>
         <translation>Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Quiso decir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambiar destino...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
-        <translation type="unfinished"/>
+        <translation>Captura de pantalla guardada en %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
-        <translation type="unfinished"/>
+        <translation>La ubicación de la captura de pantalla ha sido cambiada.</translation>
     </message>
 </context>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Más populares</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>No puedo obtener el stream de video de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de conexión: %1 para %2</translation>
     </message>
index 988694f7d1dbf6c85cb4308331168a0d67d4dac2..9623f894d134db72071f70780878fe664f2693a4 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_ES" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_ES" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>¡Hay vida fuera del navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Con licencia para %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es un programa de software libre, pero su desarrollo lleva mucho tiempo.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Por favor, considere &lt;a href=&apos;%1&apos;&gt;donar&lt;/a&gt; para apoyar el desarrollo de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>También puede probar mis otras aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traducir %1 a tu idioma utilizando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icono diseñado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Publicado bajo la &lt;a href=&apos;%1&apos;&gt;Licencia Pública General GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
         <source>About</source>
         <translation>Acerca de...</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que siempre quiso saber sobre %1 y nunca se atrevió a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
         <translation>Sortear por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Limpiar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Sólo se pueden descargar vídeos inferiores a %1 minutos. Así podrá probar la funcionalidad de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Descarga(s)</numerusform><numerusform>%n Descarga(s)</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Eligir la ubicación de descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Ubicación de descarga cambiada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargan actuales se guardarán en la ubicación anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Descargado: %1</translation>
     </message>
         <translation>Descargando actualización...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Siéntete como en casa</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener reproducción y volver a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Sa&amp;ltar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Saltar al siguiente vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar la lista de reproducción y la barra de herramientas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir a la página del vídeo en YouTube y pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar al portapapeles el enlace del vídeo de YouTube actual </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar al portapapeles la &amp;URL del flujo de vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Buscar otras partes del vídeo, con suerte, en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Elimina&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Eliminar los vídeos seleccionados de la lista de reproducción </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>S&amp;ubir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Subir en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Bajar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Bajar en la lista de reproducción los vídeos seleccionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpiar el historial de búsquedas. Esta acción no puede deshacerse.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adiós</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 en la Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Apoye el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles sobre las descargas de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Descargar el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartir el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Siempre Visible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Detener después de este vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informar de un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar búsqueda...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Más...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver vídeos relacionados con el actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
-        <translation type="unfinished"/>
+        <translation>&amp;¿Te encanta %1? ¡Puntúalo!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Lista de Re&amp;producción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>Com&amp;partir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pulse %1 para subir el volumen y %2 para bajarlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>¿Deseas salir de %1 con una descarga activa?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si cierras %1, esta descarga se cancelará.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Esperar la finalización de la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de pan&amp;talla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>La versión %2 de %1 ya está disponible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Vuelve a la vista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el &amp;enlace de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar &amp;URL del flujo de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Buscar &amp;partes del vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpiar búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Iniciar reproducción manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Empezar a reproducir vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Elegir la ubicación del contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Reanudar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>El volumen está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>El volumen no está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>La definición máxima de vídeo es %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Su privacidad ahora es segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descargas completadas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora puedes pegar el enlace de Youtube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ahora puedes pegar la URL del flujo de vídeo en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>El enlace será válido sólo por un plazo de tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es la versión de prueba de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Esta versión le permite probar la aplicación y ver si le sirve.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>capítulo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 vistas</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Detener descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir carpeta raíz</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Buscando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>No hay vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>No hay más vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Valoraciones</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Histórico</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Corto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mediano</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Inferior a 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Superior a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Finalizado</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenidos a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introducir</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>para empezar a ver vídeos</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Palabras clave recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Volver</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Hacia adelante %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Hacia atrás %1</translation>
     </message>
         <translation>Refinar búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Quiso decir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Más popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>No se puede obtener el flujo de vídeo para %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 por %2 </translation>
     </message>
index ea6613234b16ff38eb41f87d0f6eed0284158de8..af956f224b59386457076f0ccb14e0bec7ea9b0a 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_MX" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_MX" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Hay vida fuera del navegador!!!!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licenciado a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es Software Libre pero su desarrollo toma tiempo.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Por favor &lt;a href=&apos;%1&apos;&gt;dona&lt;/a&gt; para apoyar el desarrollo de %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Podrías probar mis otras aplicaciones:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor musical de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traducir %1 a tu idioma nativo usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ícono diseñado por %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Liberado bajo la licencia &lt;a href=&apos;%1&apos;&gt; GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que siempre quizo saber acerca de %1 y nunca se atrevió a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Por %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Todos los vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos sin ver</translation>
     </message>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Todos los vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos no vistos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marcar como visto</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Quitar suscripción</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>No hay suscripciones actualizadas</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>No tienes suscripciones. Usa el símbolo de estrella para suscribirte a los canales.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Limpiar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es la versión demostrativa de %1</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Sólo puede descargar videos con duración menor a %1 minutos asi que puedes probar la funcionalidad de descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>Descargados %1 en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descarga terminada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Seleccionar donde descargar</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Ubicación de descarga cambiada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargas actuales seguiran en la ubicación anterior</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Descargando en: %1</translation>
     </message>
         <translation>Descargando actualización...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Suscripciones a canales</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Siéntete a gusto</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>%Detener</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener reproducción e ir haca la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>S&amp;altar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Saltar al siguiente video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Ir a Pantalla Completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar la lista de reproducción y la barra de tareas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir a la página YouTube del vídeo y pausar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar el enlace de YouTube al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar la dirección de la difusión de vídeo al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Buscar otras partes del vídeo en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Elimina&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Eliminar los vídeos seleccionados de la lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mover &amp;arriba</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover hacia arriba los vídeos seleccionados en la lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mover a&amp;bajo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover hacia abajo los vídeos seleccionados en lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpiar el historial de búsqueda. No puede ser deshecho.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adiós</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 en el Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor apoya el desarrollo continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles acerca de las descargas de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Descargar el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
-        <translation>Capturar fotograma&amp;s</translation>
+        <translation>Capturar &amp;fotogramas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Suscribir al Canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartir el vídeo actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>Correo &amp;Electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>%Mantener arriba</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Detener de&amp;spués de este vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar un problema</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar búsqueda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Más...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;Relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver vídeos relacionados con el actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Abrir en Navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Amas %1? Calíficalo!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>%Aplicación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>Re&amp;producir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Lista de re&amp;producción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>%Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Presiona %1 para aumentar el volumen, %2 para reducirlo.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Deseas salir de %1 con una descarga en progreso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>SI cierras %1 ahora, esta descarga será cancelada.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Esperarando a que termine la descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Mantener en pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Está disponible %1 versión %2.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ir al track anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el víncu&amp;lo YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar la URL de la difusión de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Buscar las &amp;partes del vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Limpiar búsquedas re&amp;cientes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Iniciar reproducción &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Reproduce vídeos de manera manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Introduce la ubicación de tu contenido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>%Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Reiniciar reproducción</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volumen a %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Audio silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Audio sin silenciar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolución de vídeo máxima definida en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Tu privacidad está segura ahora</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descarga completa</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora puedes pegar el vínculo YouTube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Puedes pegar el URL de la difusión de vídeo en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>El vínculo será válido sólo por un tiempo limitado</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es la versión demostrativa de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Le permite probar la aplicación y ver si funciona para ti.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Desuscribir de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Suscribir a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 vistas</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) - %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Detener descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir carpeta principal</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Buscando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 más</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Sin vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>No hay mas vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Importancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Conteo de visitas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Calificación</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Cualquier tiempo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>Hace 7 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>Hace 30 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Pequeño</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayor a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Hecho</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Búsqueda</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introduzca</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>para ver vídeos</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Palabras claves recientes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canales Recientes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Retroceder</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avanzar a %1 </translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Retroceder a %1</translation>
     </message>
         <translation>Redefine búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Querías decir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Fotograma capturado en %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Ubicación de capturas cambiada</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Más populares</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>No se puede obtener el vídeo para %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 para %2</translation>
     </message>
index bac158b10a8c3b272c0bb84ee5d097174ef724dd..4f13e860e87a22501ca74f18819a5cb9372cfb58 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="fi" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="fi" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Selaimen ulkopuolellakin on elämää!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versio: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Lisensoitu henkilölle: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 on ilmainen ohjelma, mutta sen kehittäminen vie kallista aikaa.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Voit tukea %2-kehitystä jatkumista tekemällä &lt;a href=&apos;%1&apos;&gt;lahjoituksen&lt;/a&gt;.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Sinua voi kiinnostaa myös nämä sovellukseni:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube-musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Käännä %1 äidinkielellesi käyttämällä %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Kuvakkeen suunnitteli %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Julkaistu &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt; -lisenssillä</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Mitä olet aina halunnut tietää %1sta, muttet ole koskaan kehdannut kysyä</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Tekijältä %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n uusi video</numerusform><numerusform>%n uutta videota</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Kaikki videot</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Katsomattomat videot</translation>
     </message>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Kaikki videot</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Katsomattomat videot</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Merkitse katsotuksi</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Lopeta tilaus</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Päivitettyjä tilauksia ei ole tällä hetkellä.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Sinulla ei ole tilauksia. Käytä tähtisymbolia tilataksesi kanavia.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Tyhjennä</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Juuri nyt</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n minuutti sitten</numerusform><numerusform>%n minuuttia sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n tunti sitten</numerusform><numerusform>%n tuntia sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n päivä sitten</numerusform><numerusform>%n päivää sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n viikko sitten</numerusform><numerusform>%n viikkoa sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n kuukausi sitten</numerusform><numerusform>%n kuukautta sitten</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1-kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Voit ladata vain videoita jotka ovat lyhyempiä kuin %1 minuuttia, jotta voit testata latausominaisuutta.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ladattu ajassa %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Lataus valmistui</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n lataus</numerusform><numerusform>%n latausta</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Valitse latausten sijainti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Lataus sijaintia on muutettu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nykyiset lataukset menevät vanhaan sijaintiin.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Ladataan kansioon: %1</translation>
     </message>
         <translation>Ladataan päivitystä...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Suoritustiedostoa on muokattu, kyseessä saattaa olla virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 ei käynnisty. Yritä uudelleenasennusta.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Lopeta</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Asenna uudelleen</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanavatilaukset</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Tee olosi kotoisaksi</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Pysäytä toisto ja palaa hakuruutuun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hyppää yli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Siirry seuraavaan videoon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Keskeytä toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Koko näytön tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Siirry koko näytön tilaan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Piilota soittolista sekä työkalupalkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Keskeytä toisto ja mene videon YouTube-sivulle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopioi nykyisen videon YouTube-linkki leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopioi nykyisen videovirran osoite leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Löydä videon muut osat toivottavasti oikeassa järjestyksessä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Poista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Poista valitut videot toistolistalta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Siirrä &amp;ylös</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Siirrä valitut videot ylemmäksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Sirrä &amp;alas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Siirrä valitut videot alemmaksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Tyhjennä hakuhistoria. Tätä toimintoa ei voi kumota.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Näkemiin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettisivusto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 netissä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Tue %1n jatkokehitystä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Tietoja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Tietoja %1sta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Vaimenna ääni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Lataukset</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Näytä tietoja latauksista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Lataa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Lataa nykyinen video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Ota &amp;tilannevedos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
-        <translation>%Tilaa kanava</translation>
+        <translation>&amp;Tilaa kanava</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Jaa nykyinen video palvelulla %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Pysy päällimmäisenä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Muuta ikkunan kokoa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Py&amp;säytä toisto tämän videon jälkeen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ilmoita ongelmasta...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Määritä haku uudelleen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Lisää...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Aiheeseen liittyvät videot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Katso nykyiseen videoon liittyvät videot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Avaa &amp;selaimessa...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Pidätkö %1sta? Arvostele se!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Sovellus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Osta %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>S&amp;oittolista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Jaa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ohje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Paina näppäinyhdistelmää %1 nostaaksesi tai %2 laskeaksesi äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Avataan kohdetta %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Haluatko, että %1 sulkeutuu vaikka lataus on kesken?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jos suljet %1n nyt niin tämä lataus keskeytetään.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Sulje ja peru lataus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Odota latauksen valmistumista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Ladataan...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation> Poistu &amp;koko näytön tilasta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versio %2 on nyt saatavilla.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Muistuta myöhemmin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Päivitä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Virhe: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>E&amp;dellinen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Siirry takaisin edelliseen kappaleeseen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakti &amp;tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Avaa &amp;YouTube-sivu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopioi YouTube-&amp;linkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopioi videovirran &amp;URL</translation>
+        <translation>Kopioi videovirran &amp;verkko-osoite</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Etsi videon &amp;osat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Ty&amp;hjennä viimeisimmät haut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Tee &amp;lahjoitus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Aloita toisto &amp;manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Aloittaa videoiden toiston manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Valitse sisältösi sijainti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Toista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Jatka toistoa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Aikaa jäljellä: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Äänentaso: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Ääni on vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Ääni ei ole vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Yksityisyytesi on nyt turvattu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Lataukset ovat valmistuneet</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Voit nyt liittää YouTube-linkin johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Voit nyt liittää videovirran osoitteen (URL) johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Osoite on käytössä vain rajoitetun ajan.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1n kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Voit kokeilla ohjelmaa nähdäksesi, toimiiko se.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>osa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>jakso</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Lähetetty palvelusta %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Peru kanavan %1 tilaus</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Tilaa kanava %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Kohteen %1 tilaus lopetettu</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Tilattu %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Ladataan %1ta/tä</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>Katsottu %1 kertaa</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Valmistellaan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Epäonnistui</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Valmis</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Pysäytetty</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Pysäytä lataus</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Avaa %1ssa/ssä</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Avaa yläkansio</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Käynnistä lataus uudelleen</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Etsitään...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Näytä %1 lisää</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Ei videoita</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Ei enempää videoita</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Olennaisuus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Päiväys</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Katselukerrat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Arvostelu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Milloin tahansa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Kesto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Kaikki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Lyhyt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Keskipituinen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Pitkä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Vähemmän kuin 4 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4-20 minuutin välillä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Pidempi kuin 20 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Laatu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Teräväpiirto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p tai tarkempi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Valmis</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Tervetuloa &lt;a href=&apos;%1&apos;&gt;%2en&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Hanki täysversio</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Syötä</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>hakusana</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanava</translation>
     </message>
         <translation>aloittaaksesi videoiden katselu.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Katso</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Viimeisimmät hakusanat</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Viimeisimmät kanavat</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Takaisin</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Eteenpäin kohteeseen %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Takaisin kohteeseen %1</translation>
     </message>
         <translation>Määritä haku uudelleen</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Tarkoititko: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Tilannevedos tallennettu polkuun %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Tilannevedoksien sijainti muutettu.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Suosituimmat</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostriimiä ei saada kohteelle %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Verkkovirhe: &quot;%1&quot; &quot;%2&quot;lle</translation>
     </message>
index 88639b5be885db3c22e7b54c3a780bed2941dea7..cbea2b73bb40438a6617e55496d0be4c873c761f 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="fi_FI" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="fi_FI" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Selaimen ulkopuolellakin on elämää!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versio: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Lisensoitu henkilölle: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 on ilmainen ohjelma, mutta sen kehittäminen vie kallista aikaa.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Voit tukea %2-kehitystä jatkumista tekemällä &lt;a href=&apos;%1&apos;&gt;lahjoituksen&lt;/a&gt;.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Sinua voi kiinnostaa myös nämä sovellukseni:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube-musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Käännä %1 äidinkielellesi käyttämällä %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Kuvakkeen suunnitteli %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Julkaistu &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt; -lisenssillä</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Mitä olet aina halunnut tietää %1sta, muttet ole koskaan kehdannut kysyä</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Tekijältä %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n uusi video</numerusform><numerusform>%n uutta videota</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Kaikki videot</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Katsomattomat videot</translation>
     </message>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Kaikki videot</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Katsomattomat videot</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Merkitse katsotuksi</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Lopeta tilaus</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Päivitettyjä tilauksia ei ole tällä hetkellä.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Sinulla ei ole tilauksia. Käytä tähtisymbolia tilataksesi kanavia.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Tyhjennä</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Juuri nyt</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n minuutti sitten</numerusform><numerusform>%n minuuttia sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n tunti sitten</numerusform><numerusform>%n tuntia sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n päivä sitten</numerusform><numerusform>%n päivää sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n viikko sitten</numerusform><numerusform>%n viikkoa sitten</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n kuukausi sitten</numerusform><numerusform>%n kuukautta sitten</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1-kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Voit ladata vain videoita jotka ovat lyhyempiä kuin %1 minuuttia, jotta voit testata latausominaisuutta.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ladattu ajassa %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Lataus valmistui</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation type="unfinished"><numerusform>%n Lataus(ta)</numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n lataus</numerusform><numerusform>%n latausta</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Valitse latausten sijainti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Lataus sijaintia on muutettu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nykyiset lataukset menevät vanhaan sijaintiin.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Ladataan kansioon: %1</translation>
     </message>
         <translation>Ladataan päivitystä...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Suoritustiedostoa on muokattu, kyseessä saattaa olla virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 ei käynnisty. Yritä uudelleenasennusta.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Lopeta</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Asenna uudelleen</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanavatilaukset</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Tee olosi kotoisaksi</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Pysäytä toisto ja palaa hakuruutuun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hyppää yli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Siirry seuraavaan videoon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Keskeytä toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Koko näytön tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Siirry koko näytön tilaan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Piilota soittolista sekä työkalupalkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Keskeytä toisto ja mene videon YouTube-sivulle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopioi nykyisen videon YouTube-linkki leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopioi nykyisen videovirran osoite leikepöydälle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Löydä videon muut osat toivottavasti oikeassa järjestyksessä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Poista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Poista valitut videot toistolistalta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Siirrä &amp;ylös</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Siirrä valitut videot ylemmäksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Sirrä &amp;alas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Siirrä valitut videot alemmaksi soittolistalla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Tyhjennä hakuhistoria. Tätä toimintoa ei voi kumota.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Näkemiin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettisivusto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 netissä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Tue %1n jatkokehitystä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Tietoja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Tietoja %1sta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Vaimenna ääni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Lataukset</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Näytä tietoja latauksista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Lataa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Lataa nykyinen video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Ota &amp;tilannevedos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
-        <translation>%Tilaa kanava</translation>
+        <translation>&amp;Tilaa kanava</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Jaa nykyinen video palvelulla %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Pysy päällimmäisenä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Muuta ikkunan kokoa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Py&amp;säytä toisto tämän videon jälkeen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ilmoita ongelmasta...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Määritä haku uudelleen...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Lisää...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Aiheeseen liittyvät videot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Katso nykyiseen videoon liittyvät videot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Avaa &amp;selaimessa...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Pidätkö %1sta? Arvostele se!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Sovellus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Osta %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Toisto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>S&amp;oittolista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Jaa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ohje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Paina näppäinyhdistelmää %1 nostaaksesi tai %2 laskeaksesi äänenvoimakkuutta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Avataan kohdetta %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Haluatko, että %1 sulkeutuu vaikka lataus on kesken?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jos suljet %1n nyt niin tämä lataus keskeytetään.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Sulje ja peru lataus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Odota latauksen valmistumista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Ladataan...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation> Poistu &amp;koko näytön tilasta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versio %2 on nyt saatavilla.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Muistuta myöhemmin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Päivitä</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Virhe: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>E&amp;dellinen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Siirry takaisin edelliseen kappaleeseen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakti &amp;tila</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Avaa &amp;YouTube-sivu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopioi YouTube-&amp;linkki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopioi videovirran &amp;URL</translation>
+        <translation>Kopioi videovirran &amp;verkko-osoite</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Etsi videon &amp;osat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Ty&amp;hjennä viimeisimmät haut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Tee &amp;lahjoitus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Aloita toisto &amp;manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Aloittaa videoiden toiston manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Valitse sisältösi sijainti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Toista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Jatka toistoa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Aikaa jäljellä: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Äänentaso: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Ääni on vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Ääni ei ole vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Yksityisyytesi on nyt turvattu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Lataukset ovat valmistuneet</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Voit nyt liittää YouTube-linkin johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Voit nyt liittää videovirran osoitteen (URL) johonkin toiseen sovellukseen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Osoite on käytössä vain rajoitetun ajan.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Tämä on vain %1n kokeiluversio.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Voit kokeilla ohjelmaa nähdäksesi, toimiiko se.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>osa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>jakso</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Lähetetty palvelusta %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Peru kanavan %1 tilaus</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Tilaa kanava %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Lopeta kohteen %1 tilaaminen</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Tilaa %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Ladataan %1ta/tä</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>Katsottu %1 kertaa</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Valmistellaan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Epäonnistui</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Valmis</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Pysäytetty</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Pysäytä lataus</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Avaa %1ssa/ssä</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Avaa yläkansio</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Käynnistä lataus uudelleen</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Etsitään...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Näytä %1 lisää</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Ei videoita</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Ei enempää videoita</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Olennaisuus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Päiväys</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Katselukerrat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Arvostelu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Milloin tahansa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Kesto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Kaikki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Lyhyt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Keskipituinen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Pitkä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Vähemmän kuin 4 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4-20 minuutin välillä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Pidempi kuin 20 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Laatu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Teräväpiirto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p tai tarkempi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Valmis</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Tervetuloa &lt;a href=&apos;%1&apos;&gt;%2en&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Hanki täysversio</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Syötä</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>hakusana</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanava</translation>
     </message>
         <translation>aloittaaksesi videoiden katselu.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Katso</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Viimeisimmät hakusanat</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Viimeisimmät kanavat</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Takaisin</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Eteenpäin kohteeseen %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Takaisin kohteeseen %1</translation>
     </message>
         <translation>Määritä haku uudelleen</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Tarkoititko: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Tilannevedos tallennettu polkuun %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Tilannevedoksien sijainti muutettu.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Suosituimmat</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostriimiä ei saada kohteelle %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Verkkovirhe: &quot;%1&quot; &quot;%2&quot;lle</translation>
     </message>
index e2f38f5fbae082564a6670e52201c9674af20584..20b79f02f30ef8228c48697688327b600919da61 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="fr" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="fr" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Il y a une vie après le navigateur !</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licence accordée à : %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 est un Logiciel Libre, mais son développement prend un temps précieux.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Merci &lt;a href=&apos;%1&apos;&gt;d&apos;envoyer vos dons&lt;/a&gt; pour aider à poursuivre le développement de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Vous serrez sûrement intéressé par mes autres applications :</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un lecteur de musique basé sur YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un lecteur de musique</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduisez %1 dans votre langue native en utilisant %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icône dessinée par %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Proposé sous licence &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Fermer</translation>
     </message>
         <source>About</source>
         <translation>À propos</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Ce que vous avez toujours voulu savoir à propos de %1 et que vous n&apos;avez jamais osé demander</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Par %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Vous avez %n nouvelles vidéo(s)</numerusform><numerusform>Vous avez %n nouvelles vidéo(s)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Toutes les vidéos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vidéos non vues</translation>
     </message>
         <translation>Trier par</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Toutes les vidéos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vidéos non vues</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marquer comme vu</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Se désabonner</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Il n&apos;y a pas d&apos;abonnements mis à jour en ce moment.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Vous n&apos;avez pas d&apos;abonnements. Utilisez le symbole de l&apos;étoile pour vous abonner à des chaines,</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Effacer</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Juste maintenant</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>Il y a %n minute(s)</numerusform><numerusform>Il y a %n minute(s)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>Il y a %n heure(s)</numerusform><numerusform>Il y a %n heure(s)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>Il y a %n jour(s)</numerusform><numerusform>Il y a %n jour(s)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>Il y a %n semaine(s)</numerusform><numerusform>Il y a %n semaine(s)</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>Il y a %n mois</numerusform><numerusform>Il y a %n mois()</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Il s&apos;agit seulement de la version démo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Vous ne pouvez télécharger que des vidéos plus courtes que %1 minutes de sorte que vous pouvez tester la fonctionnalité de téléchargement.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuer</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 téléchargé sur %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Téléchargement terminé</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Téléchargement</numerusform><numerusform>%n Téléchargements</numerusform></translation>
+        <translation><numerusform>%n téléchargement(s)</numerusform><numerusform>%n téléchargement(s)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Changer d&apos;emplacement...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Choisissez l&apos;emplacement de téléchargement</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Emplacement de téléchargement changé.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Les téléchargements en cours iront à l&apos;emplacement précédent.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Téléchargement de : %1</translation>
     </message>
         <translation>Téléchargement de la mise à jour...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Le fichier exécutable a été modifié avec, peut-être par un virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 ne sera pas exécuté. Essayez d&apos;installer de nouveau.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Quitter</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Réinstaller</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Abonnements aux chaines</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Installez-vous confortablement</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Erreur</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Arrêter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Arrêter et aller à la page de recherche</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Passer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Passer à la vidéo suivante</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Mettre en pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Plein écran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Mettre en plein écran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Cacher la liste de lecture et la barre d&apos;outils</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Aller à la page de la vidéo Youtube et mettre en pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copier l&apos;adresse de la vidéo YouTube courante dans le presse-papier</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copier l&apos;adresse du flux vidéo courant dans le presse-papier</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Trouver les autres parties de la vidéo en espérant qu&apos;elles soient dans le bon ordre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Supprimer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Supprimer la vidéo sélectionnée de la liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Déplacer vers les &amp;haut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Déplacer la vidéo sélectionnée vers le haut dans la liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Déplacer vers les &amp;bas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Déplacer la vidéo sélectionnée vers le bas dans la liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Effacer l&apos;historique de recherche. Opération irréversible.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Quitter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Au revoir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Site &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 sur le Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Merci d&apos;aider à poursuivre le développement de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;À propos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>À propos de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Chercher</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Couper le son</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Téléchargements</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Voir les détails à propos des téléchargements de la vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Téléchargement</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Télécharger la vidéo en cours</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Prendre un in&amp;stantané</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;S&apos;abonner à la chaine</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Partager cette vidéo avec %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Fermer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Laisser au dessus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Ajuster la taille de la fenètre</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Arrêter après cette vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Signaler un problème...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Affiner la recherche...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Plus…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vidéos &amp;Relatives</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Regarder des vidéos relatives à la vidéo courante</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Ouvrir dans le &amp;navigateur ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Aimer %1? Notez-le !</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Acheter %1 …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vue</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Partager</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Aide</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Appuyer sur %1 pour augmenter le volume, sur %2 pour le baisser</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Ouverture de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Voulez-vous vraiment quitter %1 avec un téléchargement en cours ?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si vous fermez %1 maintenant, ce téléchargement sera annulé.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Fermer et annuler le téléchargement</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Attendez la fin du téléchargement</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Chargement...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Quitter le &amp;mode plein écran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 est maintenant disponible</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Me rappeler plus tard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Mettre à jour</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Erreur : %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;récédent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Aller à la piste précédente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compact</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Ouvrir la page &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copier le &amp;lien Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copier l&apos;&amp;URL du flux vidéo </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Trouver les &amp;parties de la vidéo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Effacer les recherches récentes </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Faire un &amp;Don</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Démarrer manuellement la lecture de vidéos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Choisissez l&apos;emplacement de votre contenu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Jouer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Relancer la lecture</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant : %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume à %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volume actif</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volume inactif</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Résolution vidéo maximale fixée à %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Votre confidentialité est maintenant respectée</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Téléchargements terminés</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Vous pouvez maintenant copier l&apos;adresse Youtube dans une autre application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Vous pouvez maintenant coller l&apos;adresse du flux vidéo dans une autre application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Le lien ne sera valide que pour un temps limité.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>C&apos;est juste la version démo de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Cela vous permet de tester l&apos;application et voir si cela fonctionne pour vous.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuer</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>partie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>épisode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Envoyé par %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Se désabonner de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>S&apos;abonner à %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Se désabonner de %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>S&apos;abonner à %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>%1 Téléchargement</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 vues</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Préparation</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Échec</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Terminé</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Arrêté</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Arrêter le téléchargement</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Montrer dans %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Ouvrir le dossier parent</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Redémarrer le téléchargement</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Recherche en cours…</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Afficher %1 de plus</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Pas de vidéos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Il n&apos;y a plus de vidéos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Trier par</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Pertinence</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Date</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Nombre de vues</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Note</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>N&apos;importe quand</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Aujourd&apos;hui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 jours</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 jours</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Durée</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Tous</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Court</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Moyen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Long</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Inférieur à 4 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 et 20 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Plus long que 20 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualité</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Haute définition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ou plus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Terminer</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Chercher</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenue sur  &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Entrer</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>un mot-clé</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>une chaîne</translation>
     </message>
         <translation>pour commencer à regarder des vidéos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Regarder</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Derniers mots-clés</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Chaînes récentes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Retour</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Continuer à %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Revenir à %1</translation>
     </message>
         <translation>Affiner la recherche</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Vouliez-vous dire : %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Changer d&apos;emplacement...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Instantané sauvé dans %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Emplacement de instantanés changé.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Les plus populaires</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Impossible d&apos;obtenir le flux vidéo de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Erreur réseau : %1 pour %2</translation>
     </message>
index 3743de810e2c0e35b2db8976db5d0c86d5bb89d3..7d91ba7c815cf3b1b3542e20a8ee32b7e64e60e8 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="gl" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="gl" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Existe vida máis aló do navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Baixo licenza por: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 é Software libre, mais o seu desenvolvemento leva un tempo precioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Faga unha &lt;a href=&apos;%1&apos;&gt;doazón&lt;/a&gt; para axudar na continuación do desenvolvemento de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Pode querer probar tamén outros aplicativos meus:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reprodutor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un reprodutor de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traducir %1 ao seu idioma empregando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icona deseñada por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Publicado baixo a &lt;a href=&apos;%1&apos;&gt;Licenza pública Xeral GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Pechar</translation>
     </message>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>O que vostede sempre quixo saber sobre %1 e nunca se atreveu a preguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Por %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation><numerusform>Ten %n novo vídeo</numerusform><numerusform>Ten %n novos vídeos</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Todos os vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos non vistos</translation>
     </message>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Todos os vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos non vistos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marcar como visto</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Darse de baixa</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Neste momento non ten subscricións de actualización.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Non ten subscricións. Utilice o símbolo da estrela para subscribirse ás canles.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Limpar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Isto é só a versión demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Só se poden descargar vídeos curtos de menos de %1 minutos para que poida probar a utilidade de descargas.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obter a versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Rematou a descarga</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargas
-        </numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambiar a localización...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Escolla a localización da descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Cambiada a localización da descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>A descarga actual aínda se fai na localización anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Descargando en: %1</translation>
     </message>
         <translation>Descargando a actualización...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Subscricións a canles</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Síntase cómodo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Erro</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Parar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Parara a reprodución e volver á vista de busca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Saltar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Saltar ao seguinte vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Deter</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Deter a reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Ir á pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Agochar a lista de reprodución e a barra de tarefas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir á páxina de vídeos YouTube e por en pausa a reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar a ligazón actual de vídeo de YouTube no portapapeis</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar o URL actual do fluxo de vídeo no portapapeis</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Buscar pezas doutro vídeo agardando sexan na orde correcta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Retirar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Retirar os vídeos seleccionados da lista de reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mover cara &amp;arriba</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover cara arriba os vídeos seleccionados na lista de reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mover cara a&amp;baixo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover cara abaixo os vídeos seleccionados na lista de reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpar o historial de buscas. Non se pode desfacer.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Saír</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Deica logo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor apoie o desenvolvemento continuo de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar o volume</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar os detalles sobre as descargas de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Descargando o vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Facer unha &amp;captura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subscribirse á canle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartir o vídeo actual empregando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo-e</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Correo-e</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Pechar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flotante e arriba</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Deter despois deste vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informar dun erro...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Afinar a busca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Máis...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver vídeos relacionados co actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Abrir no &amp;navegador</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Gustoulle %1? Cualifíqueo!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicativo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Mercar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>A&amp;xuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Prema %1 para aumentar o volume, %2 para diminuílo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abrindo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Desexa saír de %1 cunha descarga en proceso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Se pecha %1 agora, esta descarga vai seren cancelada.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Pechar e cancelar a descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Agardar a que remate a descarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Abandonar a &amp;pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versión %2 xa está dispoñíbel.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Lembrar máis adiante</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Produciuse un erro: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>A&amp;nterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ir á pista anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir a páxina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar a &amp;ligazón de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar o &amp;URL do fluxo de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Atopar &amp;partes de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpar as buscas recentes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Facer unha &amp;doazón</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Comezar a reprodución &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Comezar manualmente a reprodución dos vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Escolla a localización do seu contido</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continuar a reprodución</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume ao %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>O volume está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>O volume non está silenciado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Resolución máxima de vídeo fixada en %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>A súa intimidade agora está segura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descargas completadas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Agora pode pegar a ligazón de YouTube noutro aplicativo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Agora pode pegar o URL do fluxo de vídeo noutro aplicativo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>A ligazón ten validez só por un tempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Isto é só a versión demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Permítelle probar o aplicativo e comprobar se vai ao seu xeito.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>peza</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Darse de baixa de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Subscribirse a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obter a versión completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 vistas</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Produciuse un fallo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completada</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Detida</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Deter a descarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir o cartafol pai</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar a descarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Buscando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostrar %1 máis</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Non hai vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Non hai máis vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Contador de vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Cualificación</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Calquera momento</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoxe</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Curto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Longo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 e 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Máis de 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calidade</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ou máis</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Feito</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvido a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obter a versión completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introduza</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>unha palabra clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>unha canle</translation>
     </message>
         <translation>para comezar a ver vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Palabra clave recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canles recentes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Atrás</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Ir a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Volver a %1</translation>
     </message>
         <translation>Afinar a busca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Quizás quixo dicir: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambiar a localización...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Captura gardada en %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Cambiada a localización da captura.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Máis popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Non é posíbel obter o fluxo de vídeo de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Produciuse un erro na rede: %1 por %2</translation>
     </message>
index 361c5cc9411568cf82b1a57007b055827eb3ade2..484cce080f5e71ffb24ee3cfa3f0c228a7d74115 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="he_IL" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="he_IL" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>יש חיים מחוץ לדפדפן!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>גרסה %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>הרישוי לטובת: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 הנה תכנה חופשית אך פיתוחה לוקח המון זמן יקר.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>אנא &lt;a href=&apos;%1&apos;&gt;תרמו&lt;/a&gt; כדי לתמוך בהמשך הפיתוח של %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>מומלץ לנסות להשתמש בשאר היישומים שלי:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, נגן מוזיקה מיוטיוב</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, נגן מוזיקה</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>ניתן לתרגם את %1 לשפת אמך באמצעות %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>הסמל עוצב על ידי %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>התכנה שוחררה תחת תנאי &lt;a href=&apos;%1&apos;&gt;הרישיון הציבורי הכללי של GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;סגירה</translation>
     </message>
         <source>About</source>
         <translation>אודות</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>מה שתמיד רצית לדעת על %1 ולא העזת לשאול</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>על ידי %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>כל הסרטונים</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>סרטונים שלא נצפו</translation>
     </message>
         <translation>מיין לפי</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>כל הסרטונים</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>סרטונים שלא נצפו</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>סמן כנצפה</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>בטל מינוי</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>אין עדכונים בערוצים שאתה מנוי עליהם כרגע.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>אין לך מנויים. השתמש בסמל הכוכב על מנת להיות מנוי לערוצים.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>מחיקה</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>זוהי רק גרסת ההדגמה של %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>באמצעות גרסה זו ניתן להוריד קטעי וידאו שאורכם אינו עולה על %1 דקות כדי שתהיה באפשרותך לבחור את אפשרות ההורדה.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>המשך</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 התקבל במהירות של %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>ההורדה הושלמה</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>הורדה אחת</numerusform><numerusform>%n הורדות</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>שינוי המיקום...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>נא לבחור את מיקום ההורדה</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>מיקום ההורדה השתנה.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>ההורדה הנוכחית עדיין תישמר במיקום הקודם.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>מתבצעת הורדה אל: %1</translation>
     </message>
         <translation>העדכון מתקבל...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>מנויים בערוצים</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>שבו בניחותא</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>שגיאה</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;עצירה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>עצירת הנגינה וחזרה אל תצוגת החיפוש</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;דילוג</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>דילוג אל הסרטון הבא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>ה&amp;שהיה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>השהיית הנגינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;מסך מלא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>מעבר למסך מלא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>הסתרת רשימת ההשמעה וסרגל הכלים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>מעבר לעמוד הווידאו ב־YouTube והשהיית הנגינה.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>העתקת הקישור אל הווידאו הנוכחי אל לוח הגזירים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>העתקת כתובת תזרים הווידאו אל לוח הגזירים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>חיפוש חלקים אחרים בתקווה שהם בסדר הנכון</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>ה&amp;סרה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>הסרת הסרטונים הנבחרים מרשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>הזזה מ&amp;מעלה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>הזזת הסרטונים הנבחרים במעלה רשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>הזזה מ&amp;טה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>הזזת הסרטונים הנבחרים במורד רשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>מחיקת היסטוריית החיפוש. לא ניתן לבטל</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>י&amp;ציאה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>להתראות</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;אתר האינטרנט</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 באינטרנט</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>אנא תמכו בהמשך הפיתוח של %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;על אודות</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>מידע אודות %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>חיפוש</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>השתקת השמע</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>הו&amp;רדות</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>הצגת פרטים על אודות הורדות וידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>הו&amp;רדה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>הורדת סרטון הווידאו הנוכחי</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>קח צילום מסך</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>הרשם כמנוי לערוץ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>שיתוף הווידאו הנוכחי באמצעות %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;דוא״ל</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>דוא״ל</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;סגירה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;ציפה מלמעלה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>ל&amp;עצור לאחר וידאו זה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;דיווח על תקלה...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;שיפור החיפוש...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>עוד...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>סרטונים דומים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>צפה בסרטונים הדומים לסרטון זה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>פתח בדפדפן</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;אוהב את %1? דרג אותו!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;יישום</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>רכישת %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>נ&amp;גינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;רשימת השמעה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;וידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;צפייה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;שיתוף</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;עזרה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>ניתן ללחוץ על %1 כדי להגביר את עצמת השמע, %2 כדי להנמיך אותה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1 נפתח</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>האם ברצונך לצאת מ־%1 כאשר ישנה הורדה פעילה?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>אם %1 ייסגר כעת, הורדה זו תבוטל.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>סגירה וביטול ההורדה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>יש להמתין לסיום ההורדה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>יציאה ממ&amp;סך מלא</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 בגרסה %2 זמין כעת.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>להזכיר לי מאוחר יותר</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>עדכון</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>שגיאה: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>ה&amp;קודם</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>חזרה לרצועה הקודמת</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>מ&amp;צב חסכוני</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>פתיחת העמוד ב&amp;יוטיוב</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>העתקת ה&amp;קישור ליוטיוב</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>העתקת כתובת ת&amp;זרים הווידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>חיפוש ק&amp;טעי וידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;ניקוי החיפושים האחרונים</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;תרמו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>התחלת נגינה י&amp;דנית</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>התחלה ידנית בנגינת קטעי הווידאו</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>בחר את המיקום הנוכחי שלך</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;נגינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>המשך הנגינה</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>הזמן הנותר: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>עצמת השמע היא %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>השמע מושתק</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>השמע אינו מושתק</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>איכות הנגינה המירבית מוגדרת ל־%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>פרטיותך מוגנת כעת.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>ההורדות הושלמו</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>כעת ניתן להדביק את קישור ה־YouTube שלכם ביישום אחר</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>כעת ניתן להדביק את כתובת תזרים הווידאו ליישום אחר</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>הקישור יהיה תקף לזמן מוגבל בלבד.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>זוהי רק גרסת ההדגמה של %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>גרסה זו מאפשרת לך לבחון את היישום ולראות האם הוא מתאים לצרכיך.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>המשך</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>מתוך</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>חלק</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>פרק</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>נשלח דרך %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>בטל מנוי מ %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>מנוי ל %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>%1 מתקבל</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 צפיות</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 מתוך %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>מתכונן</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>נכשל</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>הושלם</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>הופסק</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>עצור הורדות</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>הצג ב %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>פתח תיקיית מקור</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>התחל הורדות מחדש</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>בהליכי חיפוש...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>הצגת %1 נוספים</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>אין סרטונים</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>אין עוד סרטונים</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>סידור לפי</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>רלוונטיות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>תאריך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>מונה צפיות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>דירוג</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>בכל זמן שהוא</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>היום</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 ימים</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 ימים</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>משך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>הכול</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>קצר</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>בינוני</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>ארוך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>פחות מ־4 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>בין 4 ל־20 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>למעלה מ־20 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>איכות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>אבחנה גבוהה (HD)</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ומעלה</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>הסתיים</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>חיפוש</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>ברוך בואך אל &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>הזנה</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>מילת מפתח</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>ערוץ</translation>
     </message>
         <translation>כדי להתחיל לצפות בסרטונים.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>צפייה</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>מילות מפתח אחרונות</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>ערוצים אחרונים</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>הקודם</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>העבר אל %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>חזור אל %1</translation>
     </message>
         <translation>שיפור החיפוש</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>האם כוונתך הייתה: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>שינוי המיקום...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>צילום מסך נשמר ב %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>מיקום צילומי מסך שונה.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>הכי פופולאריים</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>לא ניתן לקבל את תזרים הווידאו עבור %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>שגיאת רשת: %1 עבור %2</translation>
     </message>
index df9fcff0ec2705362a2db6ec7512f89abeea2d60..f13d40ead93cd707cfb240b8ce4b56c13f84765e 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="hr" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="hr" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Život postoji i van browsera!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Verzija %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licencirano na: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je besplatan program ali njegov razvoj zahtjeva dragocjeno vrijeme.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Vaša &lt;a href=&apos;%1&apos;&gt;donacija&lt;/a&gt; će pomoći daljnjem razvoju %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Možete isprobati i moje ostale aplikacije:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube glazbeni reproduktor</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, reproduktor glazbe</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Prevedite %1 na svoj jezik koristeći %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Dizajn ikone %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Izdano pod &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvori</translation>
     </message>
         <source>About</source>
         <translation>O programu</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Sve što ste željeli znati o %1 a niste se usudili pitati</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Od %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Svi videozapisi</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Ne pregledani videozapisi</translation>
     </message>
         <translation>Sortiraj po</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Svi videozapisi</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Nepregledani videozapisi</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Trenutno nema dostupnih ažuriranja pretplata</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Niste pretplaćeni na ni jedan kanal. Za pretplatu kliknite na zvijezdicu.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Obriši</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ovo je samo probna  verzija %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Može preuzeti samo video kraći od %1 minuta tako da možete testirati mogućnost preuzimanja.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Nastavi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Preuzmi punu verziju</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 preuzet u %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Preuzimanje završeno</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n preuzimanje</numerusform><numerusform>%n preuzimanja</numerusform><numerusform>%n preuzimanja</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Promijeni odredište preuzimanja...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Odaberi odredište preuzimanja</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Odredište preuzimanja promijenjeno.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Trenutna preuzimanja će i dalje ići u prethodno odredište.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Preuzimam u: %1</translation>
     </message>
         <translation>Preuzimam ažuriranja...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Pretplatnički kanali</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Udobno se smjestite</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Greška</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zaustavi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stani i vrati se na pretraživanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Preskoči</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Preskoči na slijedeći videozapis</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pauziraj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Cijeli ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Prikaži preko cijelog ekrana</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Sakrij play listu i alatnu traku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Idi na Youtube stranicu sa videom i pauziraj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopiraj YouTube link trenutnog videa u clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopiraj &amp;URL trenutnog video streama u clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Nađi ostale dijelove videa, nadam se u pravom redoslijedu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Ukloni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Ukloni odabrane videozapise iz play liste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Pomakni &amp;gore</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Pomakni gore označene videozapise u play listi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Pomakni &amp;dolje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Pomakni dolje označene videozapise u play listi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Očisti povijest pretraga. Ne može se poništiti.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Kraj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Doviđenja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Web stranice</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na webu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Molim Vas da podržite daljnji razvoj %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;O programu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informacije o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Traži</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Utišaj zvuk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Preuzimanja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Pokaži informacije o preuzimanjima videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Preuzmi trenutni video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp; Pretplata na Kanal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Podijeli trenutni video koristeći %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-pošta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvori</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Budi na vrhu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stani nakon ovog videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Prijavi problem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Suzi pretragu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Više...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Sličan videosadržaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Pogledajte video sadržaj sličan ovome</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Otvori u pretraživaču...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Program</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Kupi %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Sviraj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Play lista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Pregled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Podijeli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoć</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pritisnite %1 za glasnije, %2 za tiše</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Otvaram %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Da li stvarno želite napustiti %1 dok traje preuzimanje?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Ako sada zatvorite %1, preuzimanje će biti poništeno.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Zatvori i poništi preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Pričekaj da završi preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Izađi iz &amp;Cijelog ekrana</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 verzija %2 je dostupna.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Podsjeti me kasnije</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Ažuriraj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Greška: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;rethodni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Idi nazad na prethodnu pjesmu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktni mod</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otvori &amp;YouTube stranicu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopiraj YouTube &amp;link</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiraj &amp;URL video streama</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Nađi &amp;dijelove videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Izbriši nedavne pretrage</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Izvrši &amp;donaciju</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ručno pokreni reprodukciju</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Ručno pokreni reprodukciju videa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Odaberi lokaciju sadržaja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Sviraj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>&amp;Nastavi sviranje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Preostalo vrijeme: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Glasnoća na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Zvuk je ugašen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Zvuk je upaljen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimalna video rezolucija postavljena na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Vaša privatnost je sada sigurna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Preuzimanja završena</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Sada možete zalijepiti Youtube link u neki drugi program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Sada možete zalijepiti link video streama u neki drugi program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link će biti valjan samo ograničeno vrijeme.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ovo je samo demo verzija %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Omogućava Vam da testirate program i vidite da li Vam odgovara.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Nastavi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>od</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>dio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>nastavak</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Poslano sa %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Odjava sa %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Pretplata na %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Preuzmi punu verziju</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Preuzimam %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 pregleda</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 od %2 (%3) - %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Pripremam</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Nije izvršeno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Dovršeno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Zaustavljeno</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Zaustavi preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Prikaži u %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Otvori nadmapu</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Ponovno pokreni preuzimanje</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Pretražujem...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Prikaži %1 više</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nema videozapisa</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nema više videozapisa</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortiraj po</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevantnost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Broj pregleda</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Ocjena</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Bilo kada</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Danas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dana</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dana</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Trajanje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Sve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kratko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Srednje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Dugo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Kraće od 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Između 4 i 20 minuta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Duže od 20 minuta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvaliteta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Visoka razlučivost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ili više</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Gotovo</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Traži</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Dobrodošli u &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Preuzmi punu verziju</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Unesi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ključna riječ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanal</translation>
     </message>
         <translation>da počnete gledati video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Gledaj</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Nedavne ključne riječi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Nedavni kanali</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Nazad</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Naprijed na %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Natrag na %1</translation>
     </message>
         <translation>Suzi pretragu</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Dali ste mislili: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Promijeni odredište preuzimanja...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Najpopularnije</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Ne mogu naći video stream za %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Greška mreže: %1 za %2</translation>
     </message>
index 15c35488b723b2572b3b22493c65e5385c0bd551..2109ebf2f97859d2f947fb97b830c3397db28f87 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="hu" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="hu" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Van élet a böngészőn kívül.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Verzió: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licensz tulajdonosa: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>A %1 szabad szoftver, de a fejlesztése értékes időt emészt fel.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Adakozással&lt;/a&gt; támogassa a %2 program folyamatos fejlesztését.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
-        <translation>Ki szeretne próbálni más alkalmazást is?</translation>
+        <translation>Ki szeretne próbálni a többi alkalmazásaimat is?</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, a YouTube zenelejátszó</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, zenelejátszó</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Fordítsa le a %1 programot az anyanyelvére a következővel: %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon tervezője: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>A &lt;a href=&apos;%1&apos;&gt;GNU General Public licenccel&lt;/a&gt; megjelentetve</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Bezárás</translation>
     </message>
         <source>About</source>
         <translation>Névjegy</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Amit tudni szeretett volna a %1 programról, de sosem merte megkérdezni</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>%1 által</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n új videód van</numerusform><numerusform>%n új videód van</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Összes videó</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Megnézetlen videók</translation>
     </message>
         <translation>Rendezés</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Összes videó</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Megnézetlen videók</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Megjelölés megnézettként</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Leiratkozás</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Nincs frissítés a feliratkozott csatornákon.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Nincsenek feliratkozások. A csillag szimbólumot kell használni a csatornákra való feliratkozáshoz.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Törlés</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Épp most</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n perccel ezelőtt</numerusform><numerusform>%n perccel ezelőtt</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n órával ezelőtt</numerusform><numerusform>%n órával ezelőtt</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n napja</numerusform><numerusform>%n napja</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n hete</numerusform><numerusform>%n hete</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n hónapja</numerusform><numerusform>%n hónapja</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ez csak a demó verziója a %1 programnak.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Csak %1 percnél rövidebb videók tölthetők le vele a letöltési funkciók teszteléséhez.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Folytatás</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 letöltve ide: %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Letöltés befejezve</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n Letöltés(ek)</numerusform><numerusform>%n Letöltés(ek)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Hely módosítása...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Letöltés helyének kiválasztása</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>A letöltés helye megváltozott.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>A folyamatban lévő letöltések még a régebbi helyre kerülnek.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Letöltés ide: %1</translation>
     </message>
         <translation>Frissítés letöltése...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>A futtatandó fájl módosítva lett, lehetséges hogy egy vírus által.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 nem fog futni. Próbáld újratelepíteni.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Kilépés</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Újratelepítés</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Csatorna-feliratkozások</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Helyezze kényelembe magát</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Hiba</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Leállítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Lejátszás befejezése és visszatérés a keresés nézetre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>U&amp;grás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Ugrás a következő videóra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Megállítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Lejátszás megállítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Teljes képernyő</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Teljes képernyőre váltás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Lejátszási lista és eszközsor elrejtése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ugrás a YouTube videó oldalára és a lejátszás megállítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Az aktuális videó Youtube &amp;hivatkozásának másolása a vágólapra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Az aktuális videó adatfolyam URL címének másolása a vágólapra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>További videórészletek keresése remélhetőleg helyes sorrendben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Eltávolítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Kijelölt videók eltávolítása a lejátszási listáról</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mozgatás &amp;felfelé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Kijelölt videók mozgatása felfelé a lejátszási listában</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mozgatás &amp;lefelé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Kijelölt videók mozgatása lefelé a lejátszási listában</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Keresési előzmények törlése. Nem vonható vissza.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Kilépés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Viszlát</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Webhely</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 a weben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Támogassa a %1 program folyamatos fejlesztését</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Névjegy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Információ a %1 programról</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Hangerő némítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Letöltések</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>A videóletöltések részleteinek megjelenítése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Letöltés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Aktuális videó letöltése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>&amp;Snapshot készítése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subscribe a csatornára</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Aktuális videó megosztása a következővel: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Bezárás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Többi ablak fölött</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Ablak méretének beállítása</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Videó után leállítás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Hiba bejelentése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Keresés pontosítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Továbbiak...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Kapcsolódó videók</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>A jelenlegihez kapcsolódó videók megtekintése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Megtekintés a következővel:</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Love %1? Értékeld!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Alkalmazás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>%1 megvásárlása...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lejátszási lista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Videó</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Megtekintés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Megosztás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Súgó</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Hangerő növelése: %1, hangerő csökkentése: %2</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1 megnyitása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Szeretne kilépni a %1 programból letöltés közben?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Ha bezárja a %1 programot, a letöltés megszakad.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Bezárás és letöltés megszakítása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>A letöltés befejeződésének megvárása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Betöltés</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Kilépés a &amp;teljes képernyős módból</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>A %1 program %2 verziója elérhető.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Figyelmeztetés később</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Frissítés</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Hiba: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Előző</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ugrás az előző számra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktmód</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube oldal megnyitása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;hivatkozás másolása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>&amp;Videó-URL másolása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>További videó&amp;részletek keresése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Legutóbbi keresések törlése</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Támogasd</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuális lejátszás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Videók lejátszása manuális indítással</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Válaszd ki a jelenlegi tartózkodási helyed</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Lejátszás folytatása</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Hátralévő idő: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Hangerő: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Hangerő némítva</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Hangerő némítása feloldva</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Videók maximális felbontásának beállítása: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>A személyes adatok most már biztonságban vannak</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>A letöltések befejeződtek</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>A YouTube hivatkozás most már beilleszthető egy másik alkalmazásba</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Most már beillesztheti a videó adatfolyam URL címét egy másik alkalmazásba</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>A hivatkozás csak korlátozott ideig lesz érvényben.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ez csak a demó verziója a %1 programnak.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Kipróbálhatja az alkalmazást, hogy megfelel-e az igényeinek.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Folytatás</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation> - </translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>rész</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epizód</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>A %1 programból küldve</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Leiratkozás az alábbi csatornáról: %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Feliratkozás az alábbi csatornára: %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Leiratkozva %1-ról/ről.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Feliratkozva %1-ra</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Letöltés: %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 néző</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 %2 közül (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Előkészítés</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Hiba</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Sikeres befejezés</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Leállítva</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Letöltés leállítása </translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Megjelenítés a következőben: %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Szülőmappa megnyitása</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Letöltés újraindítása </translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Keresés...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>További %1 elem megjelenítése</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nincsenek videók</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nincs több videó </translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Rendezés</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Dátum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Megtekintések száma</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Értékelés</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Bármikor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Ma</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 napja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 napja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Időtartam</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Összes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Rövid</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Közepes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Hosszú</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Rövidebb, mint 4 perc</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 perc és 20 perc között</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Hosszabb, mint 20 perc</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Minőség</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Nagyfelbontású</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p vagy nagyobb</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Kész</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Keresés</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Üdvözli a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt; program,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Írjon be</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>egy kulcsszót</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>egy csatornát</translation>
     </message>
         <translation>a videók megtekintéséhez.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Megtekintés</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Legutóbbi kulcsszavak</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Legutóbbi csatornák</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Vissza</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Tovább a %1-re</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Vissza a %1-re</translation>
     </message>
         <translation>Keresés finomítása</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Így értette: %1?</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Hely módosítása...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Pillanatkép mentve a %1 helyre</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>A pillanatképek mentési helye megváltozott.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Legnépszerübb</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nem található videó adatfolyam a következőhöz: %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Hálózati hiba: %1 a következőhöz: %2</translation>
     </message>
index 42b1f228473971cc213e8d0e8e58fe1a7bdc0134..4f0bd1693ec1387fb5d43e80297f28729af3ea0c 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ia" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ia" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Il ha vita foras del navigator!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es software libere ma su developpamento require un tempore preciose.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Dona&lt;/a&gt;, per favor, pro supportar le developpamento continue de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Tu pote tamben voler essayar mi altere applicationes</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de musica de YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un sonator de musica</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduce %1 in tu lingua materne per usar %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icone designate per %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Liberate sub le &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Clauder</translation>
     </message>
         <source>About</source>
         <translation>Super</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Lo que tu sempre ha volite saper super %1 e nunquam osava demandar lo</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Tote le videos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
         <translation>Ordinar per</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Tote le videos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Mundar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Iste es solmente le version demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Il solmente es possibile discargar videos plus curte que %1 minutas pro que assi tu pote testar le functionalitate de discarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obtener le version complete</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 discargate in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Discarga terminate</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n discarga(s)</numerusform><numerusform>%n discarga(s)</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambia le localisation...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Selige le localisation de discarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Le localisation de discarga esseva cambiate.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Le discargas actual va ancora al previe localisation.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>A discargar a: %1</translation>
     </message>
         <translation>Discargante actualisation...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stoppar le reproduction e vader retro al vista de cercas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>S&amp;altar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Saltar al proxime video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar le reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Schermo plen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Vader a schermo plen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Celar le lista de reproduction e le barra de utensiles</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Vader al pagina de videos de YouTube e pausa le reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar le actual &amp;ligamine de video YouTube al area de transferentia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar le currente URL de fluxo de video al area de transferentia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Remover le videos seligite del lista de reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mover in &amp;alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover le videos seligite del lista de reproduction in alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mover a &amp;basso</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover le videos seligite del lista de reproduction a basso</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Mundar le historia de recerca. Isto non pote ser disfacite.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Quitar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Sito &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 in le web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Supporta le developpamento continue de %1, per favor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Super</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info super %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Cercar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Sin sono</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Discargas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Monstrar detalios super le discargas de videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Discarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Discarga le video actual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartir le video currente usante %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-posta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-posta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Clauder</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flottar in alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stoppar depost de iste video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Affinar le cerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Plus...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Lista de re&amp;production</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vider</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Adjuta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Preme %1 pro augmentar le sono, %2 pro bassar lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>A aperir %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Esque tu vole sortir de %1 con un discarga in progresso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si tu claude %1 ora, le discarga essera cancellate.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Claude e cancella le discarga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Attende que le discarga fini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Quita le &amp;schermo plen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 es ora disponibile.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Rememora me plus tarde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualisar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Retroceder al tracia previe</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo compacte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Aperir le pagina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar le &amp;ligamine de YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar le &amp;URL de fluxo de video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Cercar &amp;partes de video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Mundar le recercas recente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Face un &amp;donation</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Initiar le reproduction &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Initiar manualmente le reproduction de videos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Selige le loco de contento</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Resumer reproduction</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tempore restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volumine a %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Sin sono</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Con sono</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definition maxime de video: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Ora tu intimitate es secur </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Discargas complete</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ora tu pote collar le ligamine de YouTube in un in altere application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ora tu pote collar le URL de fluxo de video in un altere application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Le ligamine essera valide solmente durante un tempore limitate.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Isto es solmente le version demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Isto permitte testar le application e vider si illo functiona.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Inviate ab %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Procura le version complete</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>A discargar %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visualisationes</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Fallite</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completate</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Stoppar le discarga</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Monstrar in %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Recomenciar le discarga</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>A cercar...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Monstrar %1 plus</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nulle video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>In non ha plus de videos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordinar per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Vider le contator</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hodie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duration</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Omne</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Curte</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Longe</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Minus de 4 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Inter 4 e 20 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Plus de 20 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualitate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alte definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o plus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Facite</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Cercar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvenite a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Procura le version complete</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Scriber</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una parola clave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>pro comenciar a reguardar le videos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Reguardar</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Parolas-clave recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canales recente</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Retro</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
         <translation>Affinar le cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Tu voleva dicer: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambia le localisation...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Le fluxo de video pro %1 non pote ser obtenite</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de rete: %1 pro %2</translation>
     </message>
index d37eacbc4d3953e7cbeff82992a0b05a2743360e..f10b9f38a4a302e88e9de42c0cbe1597e07749cb 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="id" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="id" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Ada kehidupan diluar browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Dilisensikan kepada: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 is Free Software but its development takes precious time.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Silahkan &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; untuk mendukung kelanjutan pangembangannya dari %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Anda mungkin ingin untuk mencoba aplikasiku yang lainnya:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, suatu pemutar musik YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, suatu pemutar musik</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Terjemahkan %1 ke bahasa aslimu gunakan %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Desain ikon oleh %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Dirilis dibawah the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Tutup</translation>
     </message>
         <source>About</source>
         <translation>Tentang</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Apa kamu selalu ingin untuk mengetahui tentangnya %1 dan tidak pernah berani untuk bertanya</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Oleh %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Semua video</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Video belum dilihat</translation>
     </message>
         <translation>Urutkan berdasar</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Semua video</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Video belum dilihat</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Tandai sudah dilihat</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Berhenti berlangganan</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Tidak ada langganan yang diperbarui saat ini</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Anda tidak punya langganan. Gunakan simbol bintang untuk berlangganan ke saluran.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Bersih</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ini adalah hanya versi demo dari %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Itu bisanya hanya download video yang pendek daripada %1 menit sehingga kamu bisa menguji fungsinya downloadnya.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Teruskan</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Dapatkan versi komplitnya</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 diunduh dalam %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Unduhan selesai</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Mendownload(s)</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Ganti lokasi...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Pilihlah lokasi unduhan</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Merubah lokasi unduhan.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Unduhan saat ini masih ingin pergi di lokasi sebelumnya.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Unduhan ke: %1</translation>
     </message>
         <translation>Mengunduh pembaruan...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Saluran langganan</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Buat senyaman mungkin</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Gangguan</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stop playback and go back to the search view</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>S&amp;kip</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Skip to the next video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pause playback</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Full Screen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Go full screen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Hide the playlist and the toolbar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Pergi ke halaman video YouTube dan jeda pemutaran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copy the current video YouTube link to the clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copy the current video stream URL to the clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Mencari bagian-bagian video yang lainnya diharapkan dalam pesanan yang benar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remove</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Remove the selected videos from the playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Move &amp;Up</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Gerakkan ke atas video yang dipilih dalam daftar-main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Move &amp;Down</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Gerakkan ke bawah video yang dipilih dalam daftar-main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Menghapus sejarah pencarian. Tidak bisa dikembalikan.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Cabut</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Selamat tinggal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Situs web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 pada Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Please support the continued development of %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Tentang</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info Tentang %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Search</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Bisukan volume</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Unduhan-unduhan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Tampilkan detail tentang unduhan-unduhan video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Unduhan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Unduhan-unduhan video saat ini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Ambil Tangkapan Layar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Berlangganan ke Saluran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Berbagi video saat ini gunakan %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Surat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Surat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Tutup</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Mengambang ke puncak</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;berhenti setelah video ini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Laporkan masalah...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Perbaiki pencarian...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Lebih lanjut...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Video berhubungan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Lihat video berkaitan dengan yang sekarang</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Buka di &amp;Peramban</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Love %1? Beri Nilai!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Beli %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Putarbalik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Daftar-Main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Tampak</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Berbagi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Help</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Tekan %1 untuk menambahkan volume, %2 untuk merendahkan itu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Membuka %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Do you want to exit %1 with a download in progress?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jika Anda menutup %1 sekarang, unduhan ini akan dibatalkan.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Tutup dan membatalkan unduhan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Menunggu unduhannya selesai</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Tinggalkan &amp;Layar Penuh</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versi %2 sekarang telah tersedia.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Beritahu saya lagi nanti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Pembaruan data</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>S&amp;ebelumnya</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Kembali lagi ke trek sebelumnya</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Model kompak</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Buka &amp;Halaman YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Salin YouTube &amp;Pintasan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Salin &amp;URL Stream video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Mencari Video &amp;Perkakas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Bersihkan Jejak Pencarian</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Buat &amp;Sumbangan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Mulai Memainkan secara Manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Mulai memainkan video secara manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Pilih lokasi konten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Play</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Resume playback</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Sisanya waktu: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume at %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volumenya adalah bisu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volumenya tidak bisu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimumnya definisi video set ke %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Privasimu adalah aman sekarang</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Unduhan-unduhan komplit</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Sekarang Anda dapat paste link YouTube ke dalam aplikasi yang lain</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>You can now paste the video stream URL into another application</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link akan berlaku hanya untuk waktu yang terbatas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>This is just the demo version of %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ini memungkinkan Anda untuk menguji aplikasi dan melihat apakah ia bekerja untuk Anda.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continue</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>dari</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>bagian</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>babak bagian</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Dikirim dari %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Berhenti berlangganan dari %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Berlangganan ke %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Get the full version</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Downloading %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 tampilan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 dari %2 (%3) --- %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Mempersiapkan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Gagal</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Selesai</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Berhenti</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Berhenti mengunduh</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Perlihatkan pada %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Buka folder utama</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Mulai ulang pengunduhan</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Sedang mencari...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Tampilkan lebih banyak %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Bukan video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Tidak ada videos lagi</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Urutkan berdasar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevansi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Tanggal</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Jumlah tayang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Rating</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Kapanpun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hari ini</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Hari</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Hari</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Durasi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Semua</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Pendek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Sedang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Panjang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Kurang dari 4 menit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Antara 4 sampai 20 menit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Lebih dari 20 menit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kualitas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p atau lebih</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Selesai</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Search</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Selamat datang ke &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Get the full version</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Masukkan</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>sebuah kata kunci</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>a channel</translation>
     </message>
         <translation>to start watching videos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Watch</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Recent keywords</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Saluran-saluran saat ini</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Kembali</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Maju sampai %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Kembali ke %1</translation>
     </message>
         <translation>Perbarui pencarian</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Apakah maksud kamu: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Ganti lokasi...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Tangkapan Layar disimpan sebagai %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Lokasi tangkapan layar diubah</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Paling populer</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Cannot get video stream for %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Jaringan sedang error: %1 untuk %2</translation>
     </message>
index 1b6e89fd369e6572837f4592e58c443199f16761..0d9b729542027e437891e3801e392814f0861e75 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="it" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="it" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>C&apos;è vita fuori del browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versione %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licenziato a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 è Software Libero ma il suo sviluppo richiede tempo prezioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&quot;%1&quot;&gt;Fai una donazione&lt;/a&gt; per aiutare lo sviluppo di %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Prova anche le mie altre applicazioni:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un player musicale per YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un player musicale</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduci %1 nella tua lingua usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Icona disegnata da %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Rilasciato sotto licenza &lt;a href=&quot;%1&quot;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Chiudi</translation>
     </message>
         <source>About</source>
         <translation>Informazioni</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Quello che hai sempre voluto sapere su %1 e non hai mai osato chiedere</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Di %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>C&apos;è un nuovo video</numerusform><numerusform>Ci sono %n nuovi video</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Tutti i video</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Video non visti</translation>
     </message>
         <translation>Ordina per</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Tutti i video</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Video non visti</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Segna come già visto</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Annulla iscrizione</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Non ci sono iscrizioni aggiornate in questo momento.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Non hai iscrizioni. Usa il simbolo della stella per sottoscrivere i canali.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Cancella</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Poco fa</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>Un minuto fa</numerusform><numerusform>%n minuti fa</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>Un&apos;ora fa</numerusform><numerusform>%n ore fa</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>Ieri</numerusform><numerusform>%n giorni fa</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>Una settimana fa</numerusform><numerusform>%n settimane fa</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>Un mese fa</numerusform><numerusform>%n mesi fa</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Questa è solo la versione demo di %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Puoi scaricare solo video più corti di %1 minuti, così puoi testare la funzionalità dei download.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 scaricato in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Download completato</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>1 download</numerusform><numerusform>%n download</numerusform></translation>
+        <translation><numerusform>Un download</numerusform><numerusform>%n download</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Cambia destinazione...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Scegli la destinazione dei download</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>La destinazione dei download è cambiata.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>I download già in corso andranno comunque nella destinazione precedente.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Scarica in: %1</translation>
     </message>
         <translation>Download dell&apos;aggiornamento in corso...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>L&apos;eseguibile è stato modificato, forse da un virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 non continuerà. Prova ad installarlo di nuovo.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Esci</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Reinstalla</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Iscrizioni ai canali</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Mettiti comodo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Ferma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ferma il video e torna alla ricerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Salta al prossimo video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Metti in pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Schermo intero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Vai in modalità schermo intero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Nascondi la playlist e la barra degli strumenti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Vai su YouTube e metti in pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copia negli appunti il link a YouTube per il video corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copia negli appunti la URL dello stream per il video corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Trova le parti mancanti di questo video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Elimina i video selezionati dalla playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Sposta &amp;sopra</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Sposta video selezionati verso l&apos;alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Sposta so&amp;tto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Sposta i video selezionati verso il basso</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Cancella le ultime ricerche. L&apos;azione non potrà essere annullata.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Esci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Ciao</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Sito &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 sul Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Supporta lo sviluppo di %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Informazioni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informazioni su %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Disattiva l&apos;audio</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostra informazioni sui download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Scarica il video corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Scatta &amp;istantanea</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Iscriviti al canale</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Condividi il video corrente usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Chiudi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Fluttua in alto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Adatta le dimensioni della finestra</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Ferma dopo questo video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Segnala un problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Raffina la ricerca...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Altro...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Video &amp;correlati</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Guarda i video correlati a quello corrente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Apri nel &amp;browser...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>Ti piace %1?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Applicazione</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Riproduzione</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Condividi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Aiuto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Premi %1 per alzare il volume, %2 per abbassarlo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Apertura di %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vuoi uscire da %1 con un download in corso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Se chiudi %1 adesso, i download verranno annullati.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Chiudi e annulla i download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Aspetta che i download siano completi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Caricamento...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Lascia lo &amp;schermo intero</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>E&apos; disponibile %1 versione %2</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Ricordamelo più tardi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Aggiorna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Errore: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;recedente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Torna alla traccia precedente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modalità &amp;compatta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Apri la pagina di &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia il &amp;link a YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copia la &amp;URL dello stream video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Trova le &amp;parti del video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Cancella le ultime ricerche</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Fai una &amp;donazione</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Riproduzione &amp;manuale</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Inizia a riprodurre i video manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Scegli la località dei contenuti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Play</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tempo rimanente: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume al %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Audio disattivato</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Audio attivato</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>La definizione video massima è impostata a %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>La tua privacy è al sicuro</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>I download sono completi</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ora puoi incollare il link a YouTube in un&apos;altra applicazione</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ora puoi incollare la URL dello stream in un&apos;altra applicazione</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Il link rimarrà valido per un periodo di tempo limitato.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Questa è solo la versione demo di %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ti permette di testare l&apos;applicazione e verificare che funzioni sul tuo computer.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>di</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Inviato da %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Annulla iscrizione a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Iscriviti a %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Iscrizione a %1 annullata</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Iscritto a %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Scarica in: %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visualizzazioni</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 di %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>In preparazione</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Fallito</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Completato</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Fermo</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Interrompi il download</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostra nel %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Mostra nella cartella</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Prova a scaricare di nuovo</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Ricerca...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostra altri %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nessun video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nessun altro video</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordina per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Pertinenza</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Visualizzazioni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Voto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Qualsiasi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Oggi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 giorni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 giorni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Durata</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Tutti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Breve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lunga</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Meno di 4 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Tra i 4 e i 20 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Oltre i 20 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualità</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definizione</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p o maggiore</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Fatto</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvenuto su &lt;a href=&quot;%1&quot;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Scrivi</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>una parola chiave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canale</translation>
     </message>
         <translation>per iniziare a guardare i video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Guarda</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Ultime ricerche</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Ultimi canali</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Indietro</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avanza a %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Torna a %1</translation>
     </message>
         <translation>Raffina la ricerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Forse cercavi: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Cambia destinazione...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Istantanea salvata in %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>La destinazione delle istantanee è cambiata.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Più popolari</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Impossibile ottenere il flusso video per %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Errore di rete: %1 per %2</translation>
     </message>
index ae684925b76b0f45d9b0d8c1f856a24a13ad9224..4509e282657c20ccc93abe080bbda23adcf64095 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ja_JP" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ja_JP" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Webブラウザなしでも大丈夫!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>バージョン %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
-        <translation>ライセンス1</translation>
+        <translation>ライセンス1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1はフリーソフトウェアですが、開発には貴重な時間が費やされています。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>継続的な開発を&lt;a href=&apos;%1&apos;&gt;支援する&lt;/a&gt;には%2に寄付してください。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>私が作成した他のアプリケーションはこちら:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1はYoutube音楽プレイヤーです</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1は音楽プレイヤーです</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>%2を使って、%1をあなたの言語に翻訳してください</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>アイコンは%1さんのデザインです。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;で配布されます</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>閉じる(&amp;C)</translation>
     </message>
         <source>About</source>
         <translation>Minitubeについて</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>%1について知りたいことがあったら、思いきって連絡をください</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>%1による</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation><numerusform>%n件の新しい動画があります</numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>すべてのチャンネル</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>未視聴の動画</translation>
     </message>
         <translation>並び替え</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>全ての動画</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>未視聴の動画</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>見たものをマーク</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>購読を解除</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>購読したチャンネルに更新はありません。</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>購読済みのものがありません。チャンネルを購読するには星マークをクリックします。</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>クリア</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>たった今</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n分前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n時間前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n日前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n週間前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%nヶ月前</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>これは%1 の試用版です。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>動画を%1分程度でダウンロードできる機能を試すことができます。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>続ける</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>製品版を入手する</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1を%2にダウンロード中</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>ダウンロード完了</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n件のダウンロード</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>場所を変更...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>ダウンロード場所を選択</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>ダウンロード場所を変更しました。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>現在ダウンロードしているファイルは移動されます。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>%1にダウンロード中</translation>
     </message>
         <translation>アップデートをダウンロード中...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>実行ファイルがウイルスによって置き換えられた可能性があります。</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1は実行されません。再インストールしてください。</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>終了</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>再インストール</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>購読したチャンネルを視聴します</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>さあリラックスしましょう</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>エラー</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>再生停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>再生を停止し、検索画面に戻ります</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>次へ(&amp;k)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>次の動画へ進みます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>一時停止(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>再生を一時停止します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>フルスクリーンモード(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>フルスクリーンモードで再生します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>プレイリストとツールバーを隠します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>一時停止してYouTubeのページを開きます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>この動画のYouTubeページへのリンクをコピーします</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>現在の動画のURLをコピーします</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>この動画の他のパートを検索します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>削除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>プレイリストから選択した動画を削除します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>上へ(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>選択した動画をプレイリスト内で上へ移動させます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>下へ(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>選択した動画をプレイリスト内で下へ移動させます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>検索履歴を消去します。取り消しは出来ません。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>終了(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Minitubeを終了します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>ウェブサイト(&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1のウェブサイトを開きます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>寄付して%1の開発を助けます</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>Minitubeについて(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>%1について</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>動画を検索します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>ミュートにします</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>ダウンロード(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>動画のダウンロードについての詳細を表示</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>ダウンロード(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>現在の動画をダウンロード</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>スナップショットを撮る(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>チャンネル購読(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>現在の動画を%1で共有します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>メール(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>メール</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>閉じる(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>最前面に表示(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;ウィンドウの大きさを調節</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>再生終了後に停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>問題点を報告する(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>絞り込み検索(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>その他...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>関連動画(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>関連動画を検索します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>ブラウザで見る(&amp;B)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>%1を評価(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>アプリケーション(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>%1を購入する</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>再生(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>プレイリスト(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>動画(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>表示(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>共有(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>ヘルプ(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>音量を上げるには%1を、下げるには%2を押します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1を開いています</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>進行中の%1のダウンロードを停止しますか?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>あなたは今%1を停止した場合は、このダウンロードはキャンセルされます。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>閉じてダウンロードをキャンセル</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>ダウンロードが完了するまでお待ちください</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;読込中...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>フルスクリーンモードを終了する(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 バージョン %2 が利用可能です。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>あとで通知する</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>更新</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>エラー: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>前へ(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>前の動画へ戻ります</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>コンパクトモード(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>YouTubeのページを開く(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTubeへのリンクをコピー(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>動画のURLをコピー(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>他のパートを探す(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>検索履歴を消去(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>寄付する(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>手動で再生(&amp;M)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>動画の自動再生をしない</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>コンテンツの地域を選択</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>再生(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>再生を再開します</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>残り時間: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>ボリューム%1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>ミュートにしました</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>ミュートを解除しました</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>最大画質を%1に設定する</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>プライバシーは保護されています</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>ダウンロード完了</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>YouTube のリンクを別のアプリケーションに貼り付けることができます</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>他のアプリケーションに動画のURLを貼り付けることができます</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>リンクは制限時間内のみ有効です。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>これは%1 の試用版です。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>アプリケーションのテストや動作確認にご利用いただけます。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>続ける</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>から</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>パート</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>エピソード</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>%1に送る</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>%1の購読を解除する</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>%1を購読する</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>%1の購読を解除しました</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>%1を購読しました</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>製品版を入手する</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>%1をダウンロード中</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1回 閲覧</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1は%2(%3)%4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>準備中</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>失敗</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>完了</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>停止</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>ダウンロードを停止</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>%1を表示</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>親フォルダーを開く</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>ダウンロード再開</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>検索中...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>さらに%1件表示</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>見つかりませんでした</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>見つかりませんでした</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>並び順</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>関連性</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>日付</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>閲覧回数</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>評価</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>すべて</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>今日</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>一週間以内</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>1ヶ月以内</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>再生時間</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>すべて</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>短い</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>普通</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>長い</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>4分以下</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4~20分</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>20分超</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>画質</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>高画質</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
-        <translation>720pã\81\8b高画質</translation>
+        <translation>720pã\81¾ã\81\9fã\81¯æ\9c\80高画質</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>完了</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>検索</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>ようこそ&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;へ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>製品版を入手する</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>キーワードを入力して</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>動画</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>チャンネル</translation>
     </message>
         <translation>を検索する。</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>検索</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>最近検索したキーワード</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>最近のチャンネル</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>戻る(&amp;B)</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>%1 に進む</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>%1 に戻る</translation>
     </message>
         <translation>絞り込み検索</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>もしかして: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>場所を変更...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>%1にスナップショットを保存しました</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>スナップショットの場所を変更しました。</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>とても人気</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>%1の動画を取得できませんでした</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
-        <translation>ネットワークエラー: %1 (%2へのアクセスにて)</translation>
+        <translation>ネットワークエラー: %1から%2へのアクセスにてエラー</translation>
     </message>
 </context>
 <context>
index 6fb50fa7de43e87998c588ff63b1798aec6a4876..62c7deee66fd9a850d3716b85477d546fe542aa1 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ko_KR" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ko_KR" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>브라우저 바깥에 생활이 존재 합니다!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>버전 %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>라이센스 소유자: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1는 무료 프로그램이지만 개발에는 시간과 노력이 소요 됩니다.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>%2의 계속된 개발을 위해  &lt;a href=&apos;%1&apos;&gt;기부&lt;/a&gt;룰 해주요...</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>저희의 다른 프로그램도 사용해 보세요&quot;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, 유튜브 음악 재생기.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1 음악 재생기</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>%2을(를) 사용해서 %1를 사용자의 언어로 번역 하세요.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>아이콘 디자인: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;하에 배포 됩니다.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>닫기(&amp;C)</translation>
     </message>
         <source>About</source>
         <translation>프로그램 정보</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>%1에 대해 궁금한게 있으면 언제든 문의 하세요.</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>By %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>모든 비디오</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>안 본 비디오</translation>
     </message>
         <translation>정렬</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>모든 비디오</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>안 본 비디오</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>본 비디오로 마크</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>구독 취소</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>현재 업데이트된 구독이 없습니다.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>구독 항목이 없습니다. 채널을 구독 하려면 별 아이콘을 사용 하세요.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>지우기</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>%1의 데모 버전 입니다.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>사용자가 다운로드 기능을 테스트 할수 있도록 %1보다 짧은 비디오만 다운로드 됩니다.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>계속</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>풀 버전 구입</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 downloaded in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>다운로드 완료</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>위치 변경...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>다운로드 위치 선택</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>다운로드 위치 변경됨</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>현재 다운로드는 이전 위치에 저장 됩니다.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>다운로드 위치: %1</translation>
     </message>
         <translation>업데이트 다운로드...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>채널 구독</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>편안하게 하세요.</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>에러</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>정지(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>재생을 멈추고 검색 보기로 이동</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>건너뛰기(&amp;K)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>다음 비디오로 건너뛰기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>일시정지(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>재생 일시정지</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>전체 화면(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>전체화면 보기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>도구 모음과 재생 목록 숨기기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>재생을 멈추고 YouTube 비디오페이지로 이동</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>현재 비디오의 YouTube링크를 클립보드에 복사</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>현재 비디오 스트림 URL을 클립보드에 복사</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>연결된 다른 비디오 조각을 가능한한 올바른 순서로 찾기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>제거(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>재생 목록에서 현재 비디오 제거</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>위로 이동(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>재생 목록에서 선택된 비디오의 위 항목으로 이동</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>아래로이동(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>재생 목록에서 선택된 비디오의 아래 항목으로 이동</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>검색했던 목록 지우기. 되돌릴수 없음.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>종료(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>안녕...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>웹사이트(&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1의 웹사이트</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>%1의 계속되는 개발을 도와 주세요.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>프로그램 정보(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>%1의 정보</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>검색</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>볼륨 소거</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>다운로드(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>비디오 다운로드에 대한 자세한 정보 표시</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>다운로드(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>현재 비디오 다운로드</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>스냅샷 찍기(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>채널 구독(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>%1을(를) 사용해서 현재 비디오 공유</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>Email(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>닫기(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>위에 떠있기(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>이 비디오 재생 후 정지(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>문제점 보고...(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>검색 재정의(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>추가정보...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>관련된 비디오...(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>현재 비디오와 관련된 비디오 보기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>브라우저에서 열기(&amp;B)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>%1를 좋아하시나요? 평점을 주세요!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>어플리케이션(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>%1 구입...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>재생(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>재생 목록(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>비디오(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>보기(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>공유(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>도움말(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>%1을(를) 눌러 볼륨 증가 , %2을(를) 눌러 볼륨 감소</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1 열기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>다운로드가 진행 중인데 %1을(를) 종료 할까요?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>%1를 지금 종료하면, 다운로드는 취소 됩니다.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>다운로드 취소하고 종료</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>다운로드 끝날때 까지 대기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>전체 화면 나가기(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2이(가) 사용 가능 합니다.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>다음에 알리기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>업데이트</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>에러: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>이전(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>이전트랙으로 이동</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>컴팩트 모드(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>YouTube 페이지 열기(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube 링크 복사(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>비디오 스트림 URL을 복사(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>비디오 부분 찾기(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>최근 검색 지우기(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>기부하기(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>수동으로 재생 시작(&amp;M)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>수동으로 비디오 재생 시작 하기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>콘텐츠 위치 선택</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>재생(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>재생 이어하기</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>남은 시간: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>볼륨 %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>볼륨 소거됨</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>볼륨 소거 해제됨</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>최대 비디오 해상도가 %1(으)로 설정됨</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>이제 개인 정보가 안전 합니다.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>다운로드 완료</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>이제 YouTube 링크를 다른프로그램에 붙여 넣을수 있습니다.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>이제 비디오 스트림 URL을 다른프로그램에 붙여 넣을수 있습니다.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>해당 링크는 제한된 시간 동안만 유효 합니다.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>%1의 데모 버전 입니다.%1의 데모 버전 입니다.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>이 버전으로 프로그램이 사용자 필요에 맞는지 테스트 할수 있습니다.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>계속</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>부분</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>에피소드</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>%1에서 전송됨</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>%1 구독 해제</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>%1 구독</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>풀 버전 구입</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>%1 다운로드</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 views</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 of %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>준비</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>실패</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>끝남</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>중지됨</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>다운로드 중지</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>%1에서 보기</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>부모 폴더 열기</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>다운로드 재시작</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>검색중...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>%1 추가 보기</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>비디오없음</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>더 이상 비디오 없음</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>정렬</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>관련성</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>날짜</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>재생 횟수</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>점수</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>언제나</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>오늘</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7일</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30일</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>기간</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>모두</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>짧음</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>중간</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>김</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>4분 이하</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 ~ 20분 사이</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>20분 이상</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>품질</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p 이상</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>마침</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>검색</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;에 오신걸 환영 합니다!</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>풀 버전 구입</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>언터</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>키워드</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>채널</translation>
     </message>
         <translation>비디오 보기 시작</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>감상</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>최근 키워드</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>최근 채널</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>뒤로(&amp;B)</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>%1(으)로 이동</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>%1(으)로 이동</translation>
     </message>
         <translation>검색 재정의</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>원했던 단어: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>위치 변경...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>%1에 스냅샷 저장됨</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>스냅샷 위치 변경됨</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>가장 유명</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>%1의 비디오 가져올수 없음</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>네트워크에러: %1 for %2</translation>
     </message>
index 91eddd137a0b5c8e5e12be24c354df1209d9ce39..239728c3665fad6e8d23dc9442e366e3a8c6b95f 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ky" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ky" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Браузердин тышында да өмүр бар!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Нуска %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Лицензиянын ээси: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 — бекер программалык жабдык, бирок анын иштетүүсү көп убагымды алат.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>%2&apos;га &lt;a href=&apos;%1&apos;&gt;тартуу кылып&lt;/a&gt; мындан аркы иштетүүсүн колдоп бериңиз.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Башка тиркемелеримди да карап көрсөңүз болот:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube&apos;дун музыка ойноткучу</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, музыка ойноткучу</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>%2 аркылуу %1&apos;ду өз эне тилиңизге которуңуз</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Иконканын автору %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt; шартында чыгарылган</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Жабуу</translation>
     </message>
         <source>About</source>
         <translation>Программа тууралуу</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>%1 тууралуу дайыма билгиңиз келген маалымат</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>%1 тарабынан</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Бардык видеолор</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Көрүлбөгөн видеолор</translation>
     </message>
         <translation>Сорттоо</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Бардык видеолор</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Көрүлбөгөн видеолор</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Учурда жаңыланган жазылуулар жок.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Сизде жазылуулар жок. Каналдарга жазылуу үчүн жылдызча символун колдонуңуз.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Тазалоо</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Бул жөн эле %1&apos;дун демо-версиясы.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Жүктөө функционалдуулугун текшерүү үчүн, бул %1 минутадан кыскараак видеолорду гана жүктөп бере алат.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Улантуу</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Толук жоромолун алуу</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%2 жерине %1 файлы жүктөлдү</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Жүктөп алуу аякталды</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Жайгашкан жерин өзгөртүү...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Жүктөп алуу жерин тандоо</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Жүктөп алуу жери өзгөртүлдү.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Кезекте жүктөлүп жаткандар мурунку жерге сакталат.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>%1 папкасына жүктөлүүдө</translation>
     </message>
         <translation>Жаңылоо жүктөлүүдө...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Канал жазылуулары</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Өз үйүңүздөгүдөй болуңуз</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Ката</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ойнотууну токтотуп издөө көрүнүшүнө кайтуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Ө&amp;ткөрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Кийинки видеого өтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Ойнотууну бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Толук экран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Толук экранга өтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ойнотуу тизмесин жана аспап панелин жашыруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Видеонун YouTube барагына өтүү жана ойнотууну бир азга токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Кезектеги видеонун YouTube шилтемесин алмашуу буферине көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Кезектеги видео агымдын дарегин алмашуу буферине көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Видеонун башка бөлүктөрүн үмүт кылып туура ирети менен табуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Ө&amp;чүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Ойнотуу тизмесиндеги тандалган видеолорду өчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Ө&amp;йдө</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Ойнотуу тизмесиндеги тандалган видеолорду өйдө жылдыруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Ылдый</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Ойнотуу тизмесиндеги тандалган видеолорду ылдый жылдыруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Издөө тарыхын тазалоо. Өзгөртүүлөр кайталанбас.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Чыгуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Кош болуңуз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Веб-сайт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 интернетте</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>%1&apos;дун мындан аркы иштетүүсүн колдоп бериңиз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>Программа &amp;жөнүндө</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>%1 жөнүндө маалымат</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Издөө</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Үндү өчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Жүктөөлөр</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Видео жүктөөлөрү жөнүндө кошумча маалымат көрсөтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Жүктөп алуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Кезектеги видеону жүктөп алуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>Каналга &amp;жазылуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Учурдагы видеону %1 аркылуу бөлүшүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Эл. почта</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Эл. почта</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Жабуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Үстүнөн &amp;калкытуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Бул видеодон кийин &amp;токтотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>Катаны &amp;маалымдоо...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>Издөөнү &amp;тактоо...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Дагы...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Байланыштуу видеолор</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Кезектегиге байланыштуу видеону көрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>&amp;Браузерден ачуу...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Тиркеме</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>%1&apos;ду сатып алуу...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Ойнотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Ойнотуу &amp;тизмеси</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Көрүнүш</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Бөлүшүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Жардам</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Көлөмүн чоңойтуу үчүн %1 комбинациясын басыңыз, кичирейтүү үчүн %2</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1 ачылууда</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Жүктөп алуу болуп жаткан кезде %1&apos;дан чыгууну каалайсызбы?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Эгер сиз %1&apos;ду азыр жапсаңыз, бул жүктөө жокко чыгарылат.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Жабуу жана жүктөөнү жокко чыгаруу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Жүктөп алуунун аяктоосун күтүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Толук экрандан чыгуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версия %2 азыр жеткиликтүү.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Кечирээк эске салуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Жаңылоо</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Ката: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Мурунку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Мурунку жолчого кайтуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Тыгыз режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube барагын ачуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;шилтемесин көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Видео агымдын &amp;шилтемесин көчүрүү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Видео&amp;фрагменттерди табуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Соңку издөөлөрдү &amp;тазалоо</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Тартуу кылуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Ойнотууну &amp;кол менен баштатуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Видео ойнотууну кол менен баштатуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Мазмундун жайгашкан жерин тандаңыз</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Ойнотуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Ойнотууну улантуу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Калган убагы: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Көлөмү %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Үнү өчүрүлдү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Үнү күйгүзүлдү</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Видеонун жогорку чечими: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Жашырындуулугуңуз камсыздалды</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Жүктөлөр аякталды</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>YouTube&apos;дун дарегин эми башка тиркемеге койсоңуз болот</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Видео агымдын дарегин эми башка тиркемеге койсоңуз болот</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Чакан убакытка чейин гана шилтеме анык болот.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Бул жөн эле %1&apos;дун демо-версиясы.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Бул тиркемени сынап көргөнгө мүмкүндүк берет.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Улантуу</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>бөлүк</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>эпизод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>%1 жеринен жөнөтүү</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>%1 каналындагы жазылуудан чыгуу</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>%1 каналына жазылуу</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Толук версиясын алуу</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>%1 жүктөп алынууда</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 көрүү</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Даярдалууда</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Ката</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Аякталды</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Токтотулду</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Жүктөп алууну токтотуу</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>%1 жеринен көрсөтүү</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Ата-эне каталогун ачуу</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Жүктөп алууну кайтадан жүргүзүү</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Изделүүдө...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Дагы %1 видеону көрсөтүү</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Видеолор жок</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Дагы видеолор жок</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Сорттоо</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Релеванттуулук</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Дата</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Көрүү саны</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Рейтинг</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Каалаган убакта</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Бүгүн</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 күн</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 күн</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Узактык</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Баары</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Кыска</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Орточо</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Узак</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>4 минутадан кыскараак</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 менен 20 минутанын арасынан</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>20 минутадан узагыраак</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Сапат</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Жогорку чечим</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p же жогору</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Даяр</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Издөө</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;&apos;га кош келиңиз,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Толук версиясын сатып алуу</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Видеолорду</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ачкыч сөз</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
         <translation>менен табып көрүү.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Көрүү</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Соңку ачкыч сөздөр</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Соңку каналдар</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Артка</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>%1 алга</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>%1 видеосуна кайтуу</translation>
     </message>
         <translation>Издөөнү тактоо</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Бул эмеспи: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Жайгашкан жерин өзгөртүү...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Эң популярдуу</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>%1 үчүн видео агымын алуу мүмкүн эмес</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Тармак катасы: %1 %2 үчүн</translation>
     </message>
index 386e06db653312283c376e7a0e1ab043adb02a26..eabed02543db989e5ed2c65bfd3943f42a0b2ca1 100644 (file)
@@ -5,7 +5,7 @@ DEPENDPATH += $$PWD
 VPATH += $$PWD
 
 # ls -1 *.ts | tr '\n' ' '
-TRANSLATIONS += ar.ts ast.ts be.ts bg_BG.ts ca.ts ca_ES.ts cs_CZ.ts da.ts de_DE.ts el.ts en.ts es.ts es_AR.ts es_ES.ts es_MX.ts fi.ts fi_FI.ts fr.ts gl.ts he_IL.ts hr.ts hu.ts ia.ts id.ts it.ts ja_JP.ts ky.ts ms_MY.ts nb.ts nl.ts nn.ts pl.ts pl_PL.ts pt.ts pt_BR.ts ro.ts ru.ts sk.ts sl.ts sq.ts sv_SE.ts tr.ts uk.ts uk_UA.ts vi.ts zh_CN.ts zh_TW.ts 
+TRANSLATIONS += ar.ts ast.ts be.ts bg_BG.ts ca.ts ca_ES.ts cs_CZ.ts da.ts de_DE.ts el.ts en.ts es.ts es_AR.ts es_ES.ts es_MX.ts fi.ts fi_FI.ts fr.ts gl.ts he_IL.ts hr.ts hu.ts ia.ts id.ts it.ts ja_JP.ts ko_KR.ts ky.ts ms_MY.ts nb.ts nl.ts nn.ts pl.ts pl_PL.ts pt.ts pt_BR.ts ro.ts ru.ts sk.ts sl.ts sq.ts sv_SE.ts th.ts tr.ts uk.ts uk_UA.ts vi.ts zh_CN.ts zh_TW.ts 
 isEmpty(QMAKE_LRELEASE) {
     win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
     else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
index 9449c69d154d5497b2550fae24154a1bd751b515..51a5cdd0a960566bed61e77f6e5a3414c8b1b287 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ms_MY" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ms_MY" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>There&apos;s life outside the browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versi %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Dilesenkan kepada: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 merupakan Perisian Bebas tetapi pembangunannya mengambil masa yang berharga.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Sila &lt;a href=&apos;%1&apos;&gt;beri sumbangan&lt;/a&gt; untuk menyokong pembangunan berterusan %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Anda mahu cuba aplikasi saya yang lain:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, merupakan pemain muzik YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, merupakan pemain muzik</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Terjemah %1 kepada bahasa ibunda anda menggunakan %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon direka oleh %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Dikeluarkan dibawah &lt;a href=&apos;%1&apos;&gt;Lesen Awam Am GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>%Tutup</translation>
     </message>
         <source>About</source>
         <translation>Perihal</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Apakah yang anda mahu tahu mengenai %1 tetapi segan untuk menanya</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Oleh %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Semua Video</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Video Tidak Ditonton</translation>
     </message>
         <translation>Isih mengikut</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Semua Video</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Video Tidak Ditonton</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Tanda sebagai Ditonton</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Nyahlanggan</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Tiada langganan dikemaskini buat masa ini.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Anda tidak mempunyai langganan. Gunakan simbol bintang untuk melanggan saluran.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Kosongkan</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ini hanyalah versi demo %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Ia hanya boleh muat turun video kurang daripada %1 minit supaya anda boleh menguji kefungsian muat turunnya.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Teruskan</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Dapatkan versi penuh</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 dimuat turun dalam %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Muat turun selesai</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Ubah lokasi...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Pilih lokasi muat turun</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Lokasi muat turun berubah.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Muat turun semasa masih lagi berjalan pada lokasi terdahulu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Memuat turun ke: %1</translation>
     </message>
         <translation>Memuat turun kemaskini...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Langganan saluran</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Sila guna mengikut keselesaan anda</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Ralat</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Henti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Henti main balik dan kembali ke paparan gelintar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Lang&amp;kau</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Langkau ke video berikutnya</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Jeda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Jeda main balik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Skrin &amp;Penuh</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Pergi ke skrin penuh</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Sembunyi senarai main dan palang alat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Pergi ke halaman video YouTube dan jedakan main balik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Salin pautan YouTube semasa ke papan keratan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Salin URL strim video semasa ke papan keratan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Cari bahagian video lain yang diharapkan dalam tertib yang betul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Buang</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Buang video terpilih dari senarai main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Alih Ke &amp;Atas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Alih video terpilih ke atas di dalam senarai main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Alih Ke &amp;Bawah</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Alih video terpilih ke bawah dalam senarai main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Kosongkan sejarah gelintar. Tidak dapat patah balik.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Keluar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Selamat Tinggal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Laman Sesa&amp;wang</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 pada Sesawang</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Sila beri sokongan pada pembangunan berterusan %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>Perih&amp;al</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Maklumat mengenai %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Gelintar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Senyapkan volum</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>Muat T&amp;urun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Papar perincian mengenai muat turun video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>Muat T&amp;urun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Muat turun video semasa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Ambil &amp;Cekupan Skrin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Langgan ke Saluran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Kongsi video semasa menggunakan %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Emel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Emel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Tutup</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Te&amp;rapung Diatas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Henti Selepas Video Ini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Laporkan Masalah...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>Pe&amp;rhalusi Gelintar...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Lagi...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Video Be&amp;rkaitan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Tonton video berkaitan dengan video semasa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Buka dalam Pela&amp;yar...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Suka %1? Beri penarafan!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikasi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Beli %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Main Balik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Se&amp;narai Main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Papar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>K&amp;ongsi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Bantuan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Tekan %1 untuk tingkatkan volum, %2 untuk rendahkannya</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Membuka %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Anda hendak keluar dari %1 dengan muat turun masih berjalan?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jika anda tutup %1 sekarang, muat turun ini akan dibatalkan.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Tutup dan batalkan muat turun</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Tunggu sehingga muat turun selesai</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Tinggalkan Skrin P&amp;enuh</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versi %2 kini sudah tersedia.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Maklum saya kemudian</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Kemaskini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Ralat: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Te&amp;rdahulu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Pergi kembali ke trek terdahulu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Mod Pa&amp;dat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Buka Halaman &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Salin Pa&amp;utan YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Salin &amp;URL Strim Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Cari Ba&amp;hagian Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>K&amp;osongkan Gelintar Baru-baru Ini</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Beri S&amp;umbangan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Mula Main Secara &amp;Manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Mula memainkan video secara manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Pilih lokasi kandungan anda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Main</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Sambung semula main balik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Masa berbaki: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volum pada %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volum disenyapkan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volum disuarakan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definasi video maksimum ditetapkan ke %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Kerahsiaan anda kini selamat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Muat turun selesai</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Anda kini boleh menampal pautan YouTube ke dalam aplikasi lain</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Anda kini boleh menampal pautan strim video ke dalam aplikasi lain</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Pautan hanya sah untuk masa yang terhad.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ini hanyalah versi demo %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ia membolehkan anda uji aplikasi dan lihat jika ia berfungsi untuk anda.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Teruskan</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>dari</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>bahagian</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episod</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Dihantar daripada %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Buang langganan dari %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Langgan ke %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Dapatkan versi penuh</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Memuat turun %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>ditonton %1 kali</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 daripada %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Menyediakan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Gagal</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Selesai</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Dihentikan</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Henti memuat turun</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Papar dalam %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Buka folder induk</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Mulakan semula memuat turun</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Menggelintar...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Papar %1 Lagi</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Tiada video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Tiada lagi video</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Isih mengikut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Kaitan</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Tarikh</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Kiraan Papar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Penarafan</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Bila-bila Masa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hari Ini</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Hari</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Hari</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Jangkamasa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Semua</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Pendek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Sederhana</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Panjang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Kurang dari 4 minit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Diantara 4 hingga 20 minit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Lebih panjang dari 20 minit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kualiti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Definasi Tinggi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p atau lebih tinggi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Selesai</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Gelintar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Selamat datang ke &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Dapatkan versi penuh</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Masukkan</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>kata kunci</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>saluran</translation>
     </message>
         <translation>untuk menonton video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Tonton</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Kata kunci baru-baru ini</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Saluran baru-baru ini</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Undur</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Maju ke %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Undur ke %1</translation>
     </message>
         <translation>Perhalusi Gelintar</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Adakah anda maksudkan: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Ubah lokasi...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Cekupan skrin disimpan ke dalam %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Lokasi cekupan skrin berubah.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Paling Popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Tidak dapat strim video untuk %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Ralat rangkaian: %1 untuk %2</translation>
     </message>
index e97238884c881c33926bec450297c02ede698f06..b16c2eb5421977ce1f9945e69930769fdfa3dca7 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="nb" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="nb" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Det finnes et liv utenfor nettleseren!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versjon %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Lisensiert til: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 er fri programvare, men utviklingen tar dyrebar tid.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Vennligst &lt;a href=&apos;%1&apos;&gt;doner&lt;/a&gt; for og støtte videre utvikling av %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Du vil kanskje prøve mine andre programmer også:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, en musikkspiller for YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, en musikkspiller</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Oversett %1 til ditt morsmål ved hjelp av %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikonet er designet av %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Utgitt under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Steng</translation>
     </message>
         <source>About</source>
         <translation>Om</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Hva du alltid har ønsket å vite om %1, men aldri turte spørre om</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
         <translation>Sorter etter</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Nullstill</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er kun demo-versjonen av %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Den kan kun laste ned videoer på under %1 minutter, for at du skal kunne prøve ut nedlastingsfunksjonen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Fortsett</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Kjøp fullversjonen</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 nedlastet i %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Nedlastingen ferdig</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n nedlasting</numerusform><numerusform>%n nedlastinger</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Endre sted ...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Velg nedlastingsmappe</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Nedlastingsmappe endret.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Pågående nedlastinger vil bli lagret i den forrige mappen.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Laster ned til: %1</translation>
     </message>
         <translation>Laster ned oppdatering...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Gjøre deg komfortabel</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Feil</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stopp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stopp avspilling og gå tilbake til søkevisningen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hopp over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Hopp til neste video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Sett avspilling på pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Fullskjerm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Fullskjermsvisning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Gjem spillelista og verktøylinja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gå til YouTube video siden og pause avspillingen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopier denne YouTube video linken til utklippstavle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopier denne video stream URL til utklippstavle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Finn andre videosegment, forhåpentligvis i rett rekkefølge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Fjern</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Fjern valgte videoer fra spillelista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Flytt &amp;opp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Flytt opp valgte videoer i spillelista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Flytt &amp;Ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Flytt ned valgte videoer i spillelista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Fjern all søkehistorie. Kan ikke angres.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Avslutt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Farvel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettsted</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 på internett</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Vi håper du kan bidra til å fortsette arbeidet med utvikling av %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Om</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informasjon om %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Søk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Lydløs</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Nedlastinger</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Vis detaljer om nedlasting av video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Nedlasting</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Last ned denne videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Del denne videoen med %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Epost</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Epost</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Steng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Vis over andre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stopp etter denne videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporter et Problem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Detaljert søk...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mer...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Relaterte Videoer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Se videoer relatert til den nåværende</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>Applikasjon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Kjøp %1 …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Avspilling</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Spilleliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Visning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Del</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjelp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Trykk på %1 for å øke lydvolumet, %2 for å senke</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Åpner %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vil du avslutte %1 mens nedlastinger pågår?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Vis du stenger %1 nå, vil nedlastingen bli avbrutt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Steng og avbryt nedlastingen </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Vent mens nedlastingen fullføres</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Forlat &amp;Full Skjerm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Versjon %2 av %1 er nå tilgjengelig.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Minn meg på det senere</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Oppdater</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Feil: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Forrige</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Gå til forrige spor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompakt modus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Åpne siden på &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopier &amp;lenken til YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopier &amp;URL-en til videostrømmen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Finn &amp;deler av videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>T&amp;øm siste søk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Gi en &amp;donasjon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Start avspillingen &amp;manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Spill av videoer manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Velg innholdsplassering</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Spill av</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Gjenoppta avspilling</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Gjenstående tid: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volum %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Lydløst er på</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Lydløst er av</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimum video definisjon innstilling til %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Ditt privatliv er nå sikkert</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Nedlastinger fullført</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Du kan nå lime inn YouTube linken i et annet program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Du kan nå lime inn video stream URL i et annet applikasjon</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Denne linken vil kun være gyldig i en begrenset tid.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er kun demoversjonen av %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Dette gir deg muligheten til å prøve ut applikasjonen og se om du den er noe for deg.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Fortsett</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>av</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Sent fra %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Kjøp fullversjonen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Nedlasting %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visninger</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 av %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Forbereder</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Mislykket</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Fullført</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Stoppet</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Stoppe nedlastingen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Vis i %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Åpen foreldre mappe</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Omstart nedlasting</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Søker...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Vis %1 Mer</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Ingen videoer</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Ingen flere videoer</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sorter etter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevans</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Dato</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Antall ganger sett</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Vurdering</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Når som helst</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>I dag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Dager</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Dager</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Varighet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Medium</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lange</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Mindre enn 4 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mellom 4 og 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Lenger en 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvalitet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Høy Definisjon</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p eller høyer</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Ferdig</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Søk</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Velkommen til &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Kjøpfullversjon</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Skriv</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ett nøkkelord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>en kanal</translation>
     </message>
         <translation>for å begynne avspilling av video</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Se</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Seneste søkeord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Seneste kanaler</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Tilbake</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Fremover til %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Tilbake til %1</translation>
     </message>
         <translation>Detaljert søk</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Mente du: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Endre sted ...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Mest Populære</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan ikke hente mediastrøm for %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Feil på nettverk: %1 for %2</translation>
     </message>
index 03feea4212425e062054d2cda00ffa9750acba64..efd2de18c8f3b7cea35e2bce28cace2b45fab62e 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="nl" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="nl" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Er is leven buiten de browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versie %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Gelicenseerd aan: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 is gratis software, maar de ontwikkeling ervan vergt kostbare tijd.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Doneer&lt;/a&gt; om bij te dragen aan de verdere ontwikkeling van %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Misschien wilt u ook mijn andere apps proberen:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, een YouTube-muziekspeler</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, een muziekspeler</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Vertaal %1 naar uw moedertaal met behulp van %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Pictogram ontworpen door %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Uitgebracht onder de &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Sluiten</translation>
     </message>
         <source>About</source>
         <translation>Over</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Wat u altijd al had willen weten over %1 maar nooit heeft durven vragen</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>D.m.v. %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Alle video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Niet-bekeken video&apos;s</translation>
     </message>
         <translation>Sorteer op</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Alle video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Niet-bekeken video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Markeren als bekeken</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Abonnement opzeggen</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Er zijn op dit moment geen bijgewerkte abonnementen.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>U heeft geen abonnementen. Gebruik het ster-symbool om te abonneren op kanalen.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Wis</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Zojuist</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n minuten geleden</numerusform><numerusform>%n minuten geleden</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n uur geleden</numerusform><numerusform>%n uur geleden</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dit is slechts de demoversie van %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Het kan alleen maar videos downloaden korter dan %1 minuten zodat u de downloadfunctionaliteit kunt testen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Ga door</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 gedownload in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Download greed</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Verander locatie...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Kies de downloadlocatie</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Downloadlocatie aangepast.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Huidige downloads zullen in de vorige locatie worden geplaatst.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Downloaden naar:%1</translation>
     </message>
         <translation>Bezig met downloaden van update...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Stoppen</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Herinstalleren</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanaal-abonnementen</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Maak het u zelf gemakkelijk</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Fout</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stop het afspelen en keer terug naar het zoekvenster</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Sla over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Spoel door naar de volgende vieo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauzeer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pauzeer afspelen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Schakel over naar Volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Verberg de afspeellijst en de werkbalk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ga naar de YouTube-videopagina en pauzeer het afspelen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopieer de huidige YouTube-link naar het klembord</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopieer de huidige videostream-URL naar het klembord</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Vind gerelateerde videofragmenten, hopelijk in de juiste volgorde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Verwijder</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Verwijder de geselecteerde video&apos;s uit de afspeellijst</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Verplaats &amp;omhoog</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Verplaats de geselecteerde video&apos;s in de afspeellijst naar boven</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Verplaats &amp;omlaag</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Verplaats de geselecteerde video&apos;s in de afspeelijst naar beneden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Wis de zoek geschiedenis. Dit kan niet ongedaan worden gemaakt.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sluit af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Tot ziens</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 op het internet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Ondersteun alstublieft de ontwikkeling van %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informatie over %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Zoek</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Demp volume</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Geef details weer van videodownloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Download de huidige video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Screenshot &amp;nemen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Abonneer op kanaal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Deel de huidige video door middel van %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Sluit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Zweef erboven</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stop na deze video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporteer een Probleem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Verfijn Zoekopdracht...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Meer...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Gerelateerde video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Bekijk video&apos;s gerelateerd aan de huidige</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Open in &amp;browser...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>Vindt u %1 te &amp;gek? Waardeer het!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Programma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Koop %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Afspeelopties</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Afspeellijst</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Weergave</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Deel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Help</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Druk op %1 om het volume te verhogen, op %2 om het te verlagen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Bezig met openen van %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Wilt u %1 afsluiten terwijl er een download bezig is?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Als u nu %1 afsluit, zal de download worden beëindigd.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Sluit en annuleer het downloaden</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Wacht tot het downloaden is voltooid</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Verlaat &amp;volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versie %2 nu beschikbaar.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Herinner mij later</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Werk bij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Fout: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>V&amp;orige</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ga terug naar het vorige nummer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Compacte modus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Open de &amp;Youtube-pagina</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopieer de YouTube-&amp;link</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopieer de videostream-&amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Vind video&amp;fragmenten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Wis recente zoekopdrachten</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Geef een &amp;donatie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Speel handmatig af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Speel handmatig video&apos;s af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Kies uw inhoudslocatie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Speel af</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Hervat afspelen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Resterende tijd: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume op %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volume is gedempt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volume is niet gedempt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximale videokwaliteit staat op %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Uw privacy is nu gewaarborgd</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Downloads afgerond</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>U kunt nu uw YouTube-link kopieren naar een ander programma</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>U kunt nu uw videostream-URL kopieren naar een ander programma</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>De link zal maar een beperkte tijd geldig zijn.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dit is slechts de demoversie van %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Het biedt de mogelijkheid de applicatie te testen en te beoordelen.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Ga door</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>van</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>fragment</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>aflevering</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Verstuurd vanaf %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Zeg abonnement op van %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Abonneer op %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Bezig met downloaden van %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 bekeken</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 van %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Aan het voorbereiden</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Mislukt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Voltooid</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Gestopt</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Stop het downloaden</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Toon in %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Open oudermap</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Herstart het downloaden</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Bezig met zoeken...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Toon %1 meer</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Geen video&apos;s</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Geen video&apos;s meer</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sorteer op</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevantie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Weergaven</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Waardering</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Elke Periode</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Vandaag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Dagen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Dagen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duur</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Alles</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Gemiddeld</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Minder dan 4 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Tussen 4 en 20 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Langer dan 20 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kwaliteit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>HD Resolutie </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p of hover</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Klaar</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Zoek</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Welkom bij &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>een zoekwoord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>een kanaal</translation>
     </message>
         <translation>om te beginnen met het bekijken van video&apos;s.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Bekijk</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Recente zoekwoorden</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Recente kanalen</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Terug</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Spoel vooruit naar %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Spoel terug naar %1</translation>
     </message>
         <translation>Verfijn Zoekopdracht</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Bedoelde je: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Verander locatie...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Screenshot opgeslagen in %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Screenshots-locatie veranderd.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Meest populair</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan de videostream niet verkrijgen voor %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Netwerkfout: %1 voor %2</translation>
     </message>
index 1790fedbcafac6794ee2d08cac3c0e66c8017496..9171a27ea73df46edeeb3c7f2ebd8a5deeba3325 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="nn" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="nn" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Det finst eit liv utanfor nettlesaren!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versjon %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Lisensiert til: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 er fri programvare, men utviklinga tek dyrebar tid.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Ver venleg og &lt;a href=&apos;%1&apos;&gt;doner&lt;/a&gt; for å støtta vidare utvikling av %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Du er kanskje interessert i å prøva dei andre programma mine:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ein musikkspelar for YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, ein musikkspelar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Omset %1 til morsmålet ditt med %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikonet er utforma av %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Utgjeve under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Lukk</translation>
     </message>
         <source>About</source>
         <translation>Om</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Alt du alltid har ynskt å vita om %1, men aldri tort spørja om</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Etter %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Alle videoar</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Usette videoar</translation>
     </message>
         <translation>Sorter etter</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Alle videoar</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Usette videoar</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Ingen oppdaterte tingingar enno.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Du har ingen tingingar. Bruk stjernesymbolet for å tinga kanalar.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Nullstill</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er berre demoutgåva av %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Han kan berre lasta ned videoar på under %1 minutt, for at du skal kunna prøva ut nedlastingsfunksjonen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Hald fram</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Kjøp fullversjonen</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 lasta ned på %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Nedlasting ferdig</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n nedlasting</numerusform><numerusform>%n nedlastingar</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Endra stad …</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Vel nedlastingsmappe</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Nedlastingsmappe endra.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Nedlastingar som er i gong vil likevel lagrast i den førre mappa.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Lastar ned til: %1</translation>
     </message>
         <translation>Lastar ned oppdatering …</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanaltingingar</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Gjer deg sjølv komfortabel</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Feil</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stopp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Stoppar avspeling og går tilbake til søkjevisinga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hopp over</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Hopp til neste video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Set avspeling på pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Fullskjerm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Fullskjermvising</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Gøym spelelista og verktøylinja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gå til video-sida på YouTube og set avspelinga på pause</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopier denne YouTube video-lenkja til utklippstavla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopier denne videostraumlenkja til utklippstavla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Finn andre deler av videoen, vonleg i rett følgje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Fjern</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Fjern valde videoar frå spelelista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Flytt &amp;opp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Flytt opp valde videoar i spelelista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Flytt &amp;ned</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Flytt ned valde videoar i spelelista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Fjern all søkjehistorie. Kan ikkje angrast.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Avslutt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Farvel</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettstad</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 på internett</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Vi håpar du kan bidra til vidare utvikling av %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Om</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informasjon om %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Søk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Lydlaus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Nedlastingar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Vis detaljar om videonedlasting</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Nedlasting</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Last ned denne videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Ting kanal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Del denne videoen med %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Epost</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Epost</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Steng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Vis over andre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stopp etter denne videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Meld frå om feil …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Raffiner søk …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Meir …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Liknande videoar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Sjå videoar som liknar på denne</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Opna i &amp;nettlesaren …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Program</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Kjøp %1 …</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Avspeling</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Speleliste</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vising</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Del</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjelp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Trykk på %1 for å auka lydvolumet, %2 for å senka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Opnar %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vil du avslutta %1 medan ei nedlasting er i gang?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Vis du stenger %1 no, vil nedlastinga avbrytast</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Steng og avbryt nedlastinga</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Vent medan nedlastinga vert fullførd</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Forlat &amp;fullskjerm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Versjon %2 av %1 er no tilgjengeleg.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Minn meg på det seinare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Oppdater</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Feil: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Førre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Gå til førre spor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompakt modus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Opna &amp;YouTube-sida</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopier YouTube-&amp;lenkja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopier &amp;URL-en til videostraumen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Finn &amp;delane av videoen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Tøm siste søk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Doner</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Start avspelinga &amp;manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Spel av videoar manuelt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Vel stad for innhald</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Spel av</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Gjenoppta avspeling</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tid igjen: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volum %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Lydlaust er på</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Lydlaust er av</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimum videodefinisjon sett til %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Privatlivet ditt er no sikkert</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Nedlastingar fullførde</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Du kan no lima inn YouTube-lenkja i eit anna program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Du kan no lima inn videostraumlenkja i eit anna program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Denne lenkja vil berre vera gyldig i ei avgrensa tid.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dette er berre demoutgåva av %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Dette lèt prøva ut programmet og sjå om det er noko for deg.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Hald fram</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>av</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Send frå %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Slutt å tinga %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Ting %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Kjøp fullversjonen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Lastar ned %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visingar</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 av %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Gjer klar</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Feil</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Ferdig</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Stoppa</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Avbryt nedlasting</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Vis i %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Opna foreldermappe</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Start nedlasting på nytt</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Søkjer …</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Vis %1 til</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Ingen videoar</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Ingen fleire videoar</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sorter etter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevans</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Dato</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Vis kor mange</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Rangering</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Når som helst</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>I dag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dagar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dagar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Varigskap</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Middels</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Mindre enn 4 minutt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mellom 4 og 20 minutt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Meir enn 20 minutt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvalitet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Høy oppløysing</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p eller høgare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Ferdig</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Søk</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Velkomen til &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Kjøpfullversjonen</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Skriv</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>eit nøkkelord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>ein kanal</translation>
     </message>
         <translation>for å å sjå videoar.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Snurr film</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Siste søkjeord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Siste kanalar</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Tilbake</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Fram til %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Tilbake til %1</translation>
     </message>
         <translation>Forbetra søket</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Meinte du: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Endra stad …</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Mest populære</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan ikkje henta videostraumen til %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Feil på nettverket: %1 for %2</translation>
     </message>
index a8366aad38a4776b1c3c99881309938cc7fd9c7c..fabed05f7713dd8043a6e261dc81529d917e5988 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="pl" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="pl" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Istnieje życie poza przeglądarką!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Wersja %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licencjonowane dla: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 jest wolnym oprogramowaniem, ale jego rozwój pochłania cenney czas.</translation>
+        <translation>%1 jest wolnym oprogramowaniem, ale jego rozwój pochłania cenny czas.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Proszę &lt;a href=&apos;%1&apos;&gt;wesprzyj nas darowizną&lt;/a&gt; żybyśmy mogli ciągle rozwijać %2.</translation>
+        <translation>Proszę &lt;a href=&apos;%1&apos;&gt;wesprzyj nas darowizną&lt;/a&gt; żebyśmy mogli ciągle rozwijać %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Być może chciałbyś wypróbować moje inne aplikacje:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, odtwarzacz muzyki YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, odtwarzacz muzyki</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Przetłumacz %1 na swój język używając %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikony zaprojektowane przez %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Wydane na licencji&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
         <source>About</source>
         <translation>O programie</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>To co zawsze chcieliście wiedzieć o %1 ale nigdy się nie odważyliście zapytać</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
     <message>
         <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Proszę licencjonować  %1</translation>
+        <translation>Proszę kupić licencję %1</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>To demo wygasło.</translation>
+        <translation>Okres wersji demo został zakończony.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="53"/>
     <message>
         <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Użyj Dema</translation>
+        <translation>Użyj wersji demo</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Przez %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Masz %n nowy film</numerusform><numerusform>Masz %n nowe filmy</numerusform><numerusform>Masz %n nowych filmów</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Wszystkie filmy </translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Nieobejrzane filmy </translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="110"/>
         <source>Last Updated</source>
-        <translation>Ostatnio Dodane</translation>
+        <translation>Ostatnio zaktualizowane</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="117"/>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Wszystkie filmy </translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Nieobejrzane filmy  </translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Oznacz jako obejrzane</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
-        <translation>Zakończ subskrypcję</translation>
+        <translation>Anuluj subskrypcję</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
-        <translation>Nie ma aktualizacji subskrypcji, w obecnym  czasie.</translation>
+        <translation>Obecnie nie ma żadnych aktualizacji subskrypcji.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Nie masz żadnych subskrypcji. Użyj symbolu gwiazdy do subskrybowania kanałów. </translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Wyczyść</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Przed chwilą</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>Minutę temu</numerusform><numerusform>%n minuty temu</numerusform><numerusform>%n minut temu</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>Godzinę temu</numerusform><numerusform>%n godziny temu</numerusform><numerusform>%n godzin temu</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>Wczoraj</numerusform><numerusform>%n dni temu</numerusform><numerusform>%n dni temu</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>Tydzień temu</numerusform><numerusform>%n tygodnie temu</numerusform><numerusform>%n tygodni temu</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>W poprzednim miesiącu</numerusform><numerusform>%n miesiące temu</numerusform><numerusform>%n miesiący temu</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
-        <translation>To jest tylko wersja demo%1.</translation>
+        <translation>To jest jedynie wersja demonstracyjna %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Może jedynie pobierać filmy krótsze niż%1 minut, więc można przetestować funkcje pobierania.</translation>
+        <translation>Funkcja testowa - można pobierać filmy krótsze niż %1 minut.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Kontynuuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 pobrane w %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Pobieranie ukończone</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Pobieranie</numerusform><numerusform>%n Pobieranie</numerusform><numerusform>%n Pobieranie</numerusform></translation>
+        <translation><numerusform>Pobieranie</numerusform><numerusform>%n pobierane</numerusform><numerusform>%n pobieranych</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Wybierz katalog pobierania</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Katalog pobierania został zmieniony.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktualnie pobierane pliki zostaną we wcześniejszym katalogu pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Pobierane do: %1</translation>
     </message>
         <translation>Ściąganie aktualizacji...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Plik wykonywalny został naruszony, być może przez wirusa</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>Nie można uruchomić %1. Spróbuj zainstalować ponownie.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Wyjdź</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Zainstaluj ponownie</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Subskrypcje kanału</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Poczuj się komfortowo</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Zatrzymaj odtwarzanie i wróć do wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Prze&amp;skocz dalej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Skocz do następnego pliku wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Pełny ekran (&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Przełącz na pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ukryj listę odtwarzania i pasek narzędzi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Otwórz na stronie Youtube i wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Kopiuj link aktualnie odtwarzanego video do schowka</translation>
+        <translation>Kopiuj adres YouTube aktualnie odtwarzanego wideo do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopiuj adres URL odtwarzanego wideo do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
-        <translation>Znajdź inne części wideo, mam nadzieję, że w odpowiedniej kolejności</translation>
+        <translation>Spróbuj znaleźć inne części wideo w odpowiedniej kolejności</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Usuń (&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Usuń wybrane pliki z listy odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Przenieś &amp;Wyżej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Przenieś wyżej zaznaczony plik w liście odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Przenieś &amp;Niżej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Przenieś niżej zaznaczony plik w liście odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Wyczyść historię wyszukiwania. NIEODWRACALNIE.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>Wyjdź (&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Żegnaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Strona domowa projektu (&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 w sieci</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Prosimy o wsparcie dla dalszego rozwoju %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>O programie (&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informacje o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Pobrane</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Pokaż szczegóły o pobranych plikach</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Pobierz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Pobierz aktualny plik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Zrób &amp;migawkę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subskrybuj kanał</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Udostępnij to wideo używając %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Zawsze na wierzchu </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>Dostosuj wielkość okn&amp;a</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Zatrzymaj odtwarzanie, po obejrzeniu tego filmu  </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Zgłoś problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
-        <translation>&amp;Więcej opcji ...</translation>
+        <translation>Opcje wyszukiwania (&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Więcej...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Podobne filmy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Oglądaj filmy podobne do tego</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Otwórz w &amp;przeglądarce ...  </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Kochasz %1? Oceń to!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Kup %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>Udo&amp;stępnij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoc</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Wciścnij %1 żeby zwiększyć głośność, %2 żeby zmiejszyć głośność</translation>
+        <translation>Wciśnij %1 żeby zwiększyć głośność, %2 żeby zmiejszyć głośność</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Otwieranie %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Czy na pewno chcesz zamknąć %1 w trakcie pobierania???</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Jeśli zamkniesz %1 teraz, To pobieranie będzie anulowane.</translation>
+        <translation>Jeśli zamkniesz %1 teraz, to pobieranie będzie anulowane.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
-        <translation>Zamnij i anuluj pobieranie</translation>
+        <translation>Zamknij i anuluj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Poczekaj na zakończenie pobierania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>Wczytywanie...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opuść &amp;tryb pełnoekranowy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 wersja %2 jest teraz dostępna.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Przypomnij mi później</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Aktualizuj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Błąd %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Pop&amp;rzedni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Powrót do poprzedniego utworu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Tryb kompaktowy </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otwórz na &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopiuj &amp;link, do filmu na You Tube</translation>
+        <translation>Kopiuj &amp;link do filmu na YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiuj adres &amp;URL strumienia wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Znajdź wszystkie części &amp;filmu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Wy&amp;czyść Ostatnie Poszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Przekaż &amp;darowiznę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ręczne uruchamianie odtwarzania </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Ręcznie uruchamia odtwarzanie filmów</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Wybierz lokalizację treści </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Odtwarzaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Kontynuuj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Pozostały czas %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Głośność na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Dźwięk jest wyciszony</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Przywrócono dźwięk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Twoja prywatność jest teraz bezpieczna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Pobieranie ukończone</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Teraz możesz wkleić link Youtube do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Teraz możesz wkleić URL do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link będzie ważny tylko przez ograniczony czas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
-        <translation>To jest tylko wersja demo %1.</translation>
+        <translation>To jest jedynie wersja demonstracyjna %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Pozwala Ci to na testowanie i sprawdzenie działania aplikacji.</translation>
+        <translation>Pozwala ci to na testowanie i sprawdzenie działania aplikacji.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Kontynuuj</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>część</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>odcinek</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Wysłano z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Anuluj subskrypcje %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Subskrybuj %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Zakończono subskrypcję %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Rozpoczęto subskrypcję %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
-        <translation>Pobierz pełną wersję</translation>
+        <translation>Uzyskaj pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Pobieranie %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation>Pomiń Tą Wersję</translation>
+        <translation>Pomiń tą wersję</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation>Przypomnij Mi Później</translation>
+        <translation>Przypomnij mi później</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
-        <translation>%1 widziane</translation>
+        <translation>Wyświetleń: %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Przegotowuję</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Niepowodzenie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Zakończone</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Zatrzymano</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Zatrzymaj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Pokaż w %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Otwórz folder nadrzędny </translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Pobierz od nowa</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Wyszukiwanie ...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Pokaż kolejne %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Brak wideo</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nie ma więcej wideo</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
-        <translation>Związane</translation>
+        <translation>Trafność</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Daty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Ilość wyświetleń </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Oceny </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Kiedykolwiek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Dzisiaj</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Czas trwania </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Wszystko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Krótkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Średnie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Długie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Krótsze niż 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Pomiędzy 4 a 20 minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Dłuższe niż 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Jakość</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Wysoka rozdzielczość </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
-        <translation>720p lub wyższej </translation>
+        <translation>720p lub lepsza</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Ukończono</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Witaj w &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
-        <translation>Pobierz pełną wersję</translation>
+        <translation>Uzyskaj pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Zatwierdź</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>słowo kluczowe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanał</translation>
     </message>
         <translation>aby rozpocząć oglądanie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Oglądaj</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Ostatnio szukane</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Odwiedzone kanały</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Wstecz</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Przewiń do %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Cofnij do %1</translation>
     </message>
         <translation>Opcje wyszukiwania  </translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Czy chodziło o: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Migawka została zapisana do %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Katalog zapisu migawek został zmieniony.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Najpopularniejsze </translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nie można uzyskać dostępu do %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Błąd sieci: %1 for %2</translation>
     </message>
index ea6851c93bf9878ab9646473c432cda2757c1572..55099657459c00be79fb070a168322c38e188f0d 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="pl_PL" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="pl_PL" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Życie istnieje też poza przeglądarką!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Wersja %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licencjonowane dla: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 jest darmowym oprogramowaniem, ale jego stworzenie też wymaga cennego czasu.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Proszę o &lt;a href=&apos;%1&apos;&gt;dotacje&lt;/a&gt; dla dalszego rozwoju %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Może chcesz wypróbować inne moje aplikacje:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, odtwarzacz muzyki z YouTube&apos;a</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, odtwarzacz muzyki</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Przetłumacz %1 na swój język używając %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikony zaprojektowane przez %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Wydane na licencji&lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
         <source>About</source>
         <translation>O programie</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Wszystko, co chcieliście wiedzieć o %1, ale baliście się zapytać</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Wszystkie filmy</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Nieobejrzane filmy</translation>
     </message>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Wszystkie filmy</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Nieobejrzane filmy</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Brak zaktualizowanych subskrypcji. </translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Wyczyść</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>To jest tylko wersja demo %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Może pobierać jedynie filmy krótsze niż %1 minut, dla przetestowania funkcji pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Dalej</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ściągnięte w %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Ściąganie zakończone</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Wybierz katalog pobierania</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Katalog pobierania został zmieniony.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktualnie pobierane pliki zostaną we wcześniejszym katalogu pobierania.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Pobierane do: %1</translation>
     </message>
         <translation>Pobieranie aktualizacji...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Rozgość się</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Błąd</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Przerwij odtwarzanie i wróć do wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Prze&amp;skocz dalej</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Przejdź do następnego pliku wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Przełącz na pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ukryj listę odtwarzania i pasek narzędzi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Przejdź do strony YouTube i wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Skopiuj link YouTube odtwarzanego filmu do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopiuj adres URL odtwarzanego wideo do schowka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Znajdź pozostałe części filmu w, miejmy nadzieję, dobrej kolejności</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Usuń</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Usuń wybrane pliki z listy odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Przesuń w &amp;Górę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Przesuń wyżej zaznaczone pliki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Przesuń w &amp;Dół</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Przesuń niżej zaznaczone pliki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Czyści historię wyszukiwania. Nieodwracalnie.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Weź to wyłącz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Narciarz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Wyświetl stronę</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 on the Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Wesprzyj dalszy rozwój %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>O &amp;Programie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informacje o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Pobrane</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Pokaż szczegóły o pobranych plikach</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Pobierz</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Pobierz aktualny plik</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subskrybuj kanał</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Podziel się tym filmem przez %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>e-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Ustaw na wierzchu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zatrzymaj  po tym filmie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>Zgłoś problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Zawęź wyszukiwanie...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Więcej...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Powiązane filmy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Oglądaj filmy powiązane z aktualnie oglądanym</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>Uwie&amp;lbiasz %1? Oceń to!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Kup%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Podziel się</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Halp znaczy pomoc</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Naciśnij %1 aby podgłośnić, %2 aby przyciszyć</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Otwieranie %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Czy na pewno chcesz zamknąć %1 w trakcie pobierania???</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Jeśli zamkniesz %1 teraz, To pobieranie będzie anulowane.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Zamnij i anuluj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Poczekaj na zakończenie pobierania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opuść pełny ekran (&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Wersja %1 %2 jest dostępna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Przypomnij później</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Zaktualizuj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Błąd %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;oprzedni</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Wróć do poprzedniej ścieżki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Tryb kompaktowy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otwórz stronę &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Skopiuj &amp;link do strony Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Skopiuj &amp;URL strumienia wideo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Znajdź części filmu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Wyczyść ostatnie wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Przekaż &amp;dotację</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ręczne rozpoczynanie odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Ręcznie odtwarzaj filmy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Wybierz swoją lokalizację</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Graj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Przywróć odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Pozostały czas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Głośność: %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Dźwięk wyciszony</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Dźwięk przywrócony</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Twoja prywatność jest już bezpieczna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Pobieranie ukończone</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Teraz można wkleić link YouTube do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Teraz możesz wkleić URL do innej aplikacji</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link będzie ważny tylko przez ograniczony czas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>To jest tylko wersja demo %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Pozwala przetestować aplikację, i zobaczyć czy Ci odpowiada.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Dalej</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>część</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>odcinek</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Przesłane od %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Usuń subskrypcje %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Subskrybuj %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Zdobądź pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Pobieranie %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1widziany</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Przygotowywanie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Niepowodzenie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Ukończone</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Zatrzymano</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Przerwij pobieranie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Pokaż w %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Otwórz katalog nadrzędny</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Pobierz ponownie</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Szukanie...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Pokaż kolejne %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Brak filmów</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nie ma więcej filmów</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Trafność</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Wyświetlenia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Ocena</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Kiedykolwiek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Dzisiaj</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Czas trwania</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Wszystkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Krótkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Średnie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Długie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Krótsze niż 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Pomiędzy 4 a 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Dłuższe niż 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Jakość</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Jakość HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p lub wyższa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Zrobione</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Witaj w &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Zatwierdź</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>słowo kluczowe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanał</translation>
     </message>
         <translation>aby rozpocząć oglądanie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Oglądaj</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Ostatnie wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Ostatnie kanały</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Wstecz</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Idź do %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Powróć do %1</translation>
     </message>
         <translation>Zawęź wyszukiwanie</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Masz na myśli: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Najpopularniejsze</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Strumieniowanie %1 nie powiodło się</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Błąd sieci: %1 dla %2</translation>
     </message>
index 57ccd75fc5e655ba4d37723246a03140b3a93bac..ed538f882a4633fd78cd33a7db5fe5dd8e4de523 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="pt" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="pt" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Existe vida para além do navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versão %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licenciado a: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 é um programa livre mas o seu desenvolvimento ocupa tempo precioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Efetue um&lt;a href=&apos;%1&apos;&gt;donativo&lt;/a&gt; para ajudar no desenvolvimento do %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Também pode experimentar as minhas outras aplicações:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, um leitor de música YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, um reprodutor de músicas</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Ajude a traduzir o %1 através do %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ícone criado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Disponibilizado nos ternmos da &lt;a href=&apos;&quot;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>Fe&amp;char</translation>
     </message>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Tudo o que sempre quis saber sobre o %1 e nunca se atreveu a perguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>De %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation><numerusform>Você tem %n novo vídeo</numerusform><numerusform>Você tem %n novos vídeos</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Todos os vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos não vistos</translation>
     </message>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Todos os vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos não vistos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marcar como visto</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Cancelar subscrição</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Não existem atualizações de subscrições.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Ainda não possui subscrições. Utilize a estrela para subscrever os canais.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Limpar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta é uma versão de demonstração do %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Apenas pode transferir vídeos mais curtos que %1 minuto(s) de forma a testar a funcionalidade de transferência.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 transferência em %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Transferência terminada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n transferência</numerusform><numerusform>%n transferências</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Mudar localização...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Escolha a localização da transferência</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Localização alterada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>As transferências atuais serão colocadas na localização anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Transferência em: %1</translation>
     </message>
         <translation>Transferência da atualizaçao...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Subscrições de canais</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Ponha-se confortável</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Erro</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>Para&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Parar reprodução e voltar à vista de procura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>I&amp;gnorar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Ir para o próximo vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Ecrã completo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Modo de ecrã completo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar lista de reprodução e barra de ferramentas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir para a página do Youtube e parar a reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar ligação do atual vídeo Youtube para a área de transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar URL da emissão atual para a área de transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Localizar outras partes do vídeo pela ordem correta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Remover os vídeos selecionados da lista de reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mover para &amp;cima</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover para cima os vídeos selecionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mover para &amp;baixo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover para baixo os vídeos selecionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Limpar histório de procura. Não pode ser anulado.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sair</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Adeus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Sítio &amp;web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor ajude no desenvolvimento do %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informações de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Procura</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Silenciar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Transferências</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostar detalhes sobre a transferência de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Transferir o vídeo atual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Take &amp;Snapshot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Subscrever o canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Partilhar o atual vídeo através do %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Endereço eletrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Endereço eletrónico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>Fe&amp;char</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flutuante na frente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Parar após es&amp;te vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar um erro...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>Melhorar proc&amp;ura...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mais...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Vídeos &amp;relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Ver vídeos relacionados com o atual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>A&amp;brir no navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Gosta? %1? Avalie!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicação</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>Reprod&amp;ução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Lista de re&amp;produção</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>Víd&amp;eo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>Partil&amp;har</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>Aj&amp;uda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Prima %1 para aumentar o volume, %2 para o reduzir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>A abrir %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Deseja sair do %1 com uma transferência ativa?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Se fechar o %1, a transferência irá ser cancelada.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Fechar e cancelar transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Esperar pelo fim da transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Sair do modo de &amp;ecrã completo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Está disponível o %1 %2.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Lembrar mais tarde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Atualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Erro:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ir para a faixa anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir a página &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar &amp;ligação do YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar &amp;URL da emissão</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Localizar &amp;partes do vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Limpar procuras re&amp;centes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Efetuar &amp;donativo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Iniciar reprodução &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Iniciar reprodução de vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Escolha a localização do conteúdo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Re&amp;produzir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Retomar reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tempo restante:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volume:%1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volume nulo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volume restaurado</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definição máxima do vídeo definida para %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>A sua privacidade está agora assegurada</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Transferências terminadas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Agora pode colar a ligação YouTube em qualquer outra aplicação</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Agora pode colar o URL do vídeo em qualquer outra aplicação</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>A ligação será válida por tempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta é uma versão de demonstração do %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Permite-lhe testar ea aplicação e verificar se é do seu agrado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episódio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Enviado de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Cancelar subscrição de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Subscrever %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Transferência: %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visualizações</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparação</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Falha</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Terminado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Parado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Parar transferência</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar em %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir pasta respetiva</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar transferência</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Procura...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Mostrar mais %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nenhum vídeo</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Sem mais vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevância</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Visualizações</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Avaliação</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Sempre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duração</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Curtos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Normais</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Longos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 e 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mais do que 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualidade</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta definição</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ou mais</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Terminado</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Procura</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bem-vindo ao &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introduza</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>uma palavra-chave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>um canal</translation>
     </message>
         <translation>para começar a visualizar os vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Palavras-chave recentes</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canais recentes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Recuar</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avançar para %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Recuar para %1</translation>
     </message>
         <translation>Melhorar procura</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Será que queria dizer: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Mudar localização...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Snapshot guardado em %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Localização dos snapshots alterada.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Mais populares</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Não é possível obter a emissão de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Erro de rede: %1 para %2</translation>
     </message>
index e29bc7b5939dab0af5a965740250de2515fd50eb..03da0c72999d3efa0edc7d505a7b5f7e23595cb1 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="pt_BR" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="pt_BR" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Há vida fora do navegador!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versão %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licenciado para: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 é um software livre, mas seu desenvolvimento toma um tempo precioso.</translation>
+        <translation>%1 é um Software Livre, mas seu desenvolvimento toma um tempo precioso.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Por favor &lt;a href=&apos;%1&apos;&gt;doe&lt;/a&gt; para apoiar o desenvolvimento continuado de %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Você pode querer tentar os meus outros aplicativos também:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, um tocador de música para YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, um tocador de música</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduza %1 para seu idioma nativo usando %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ícone desenhado por %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Lançado sob a &lt;a href=&apos;%1&apos;&gt;Licença Pública Geral GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Fechar</translation>
     </message>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>O que você sempre quis saber sobre %1 e nunca se atreveu a perguntar</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation>Entre com seus Detalhes de Licença</translation>
+        <translation>Insira os Detalhes da Licença</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation>E-mail:</translation>
+        <translation>&amp;E-mail:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
         <source>&amp;Code:</source>
-        <translation>Código:</translation>
+        <translation>&amp;Código:</translation>
     </message>
 </context>
 <context>
@@ -96,7 +90,7 @@
     <message>
         <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Por favor, licença %1</translation>
+        <translation>Por favor, licencie %1</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="51"/>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
         <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Ao comprar a versão completa, você também vai apoiar o trabalho duro eu dediquei em criar %1.</translation>
+        <translation>Ao comprar a versão completa, você também apoiará o trabalho duro que eu dediquei ao criar %1.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="70"/>
     <message>
         <location filename="local/src/activationview.cpp" line="77"/>
         <source>Enter License</source>
-        <translation>Entrar com a Licença.</translation>
+        <translation>Inserir Licença</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="85"/>
         <source>Buy License</source>
-        <translation>Comprar a Licença.</translation>
+        <translation>Adquirir Licença</translation>
     </message>
 </context>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Por %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Todos Os Vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos Não Assistidos</translation>
     </message>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Todos Os Vídeos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Vídeos Não Assistidos</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
-        <translation>Marcar como assistido</translation>
+        <translation>Marcar como Assistido</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Cancelar assinatura</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Não há assinaturas atualizadas neste momento.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Você não tem assinaturas. Use o símbolo da estrela para assinar canais.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Limpar</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta é apenas a versão demonstração de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Só pode fazer download de vídeos menores que %1 minutos para que você possa testar a funcionalidade de download.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 baixados em %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Download terminou</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Alterar local...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
-        <translation>Escolha um local para o download</translation>
+        <translation>Escolha o local de download</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Local de download alterado.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Downloads atuais ainda irão para o local anterior.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Baixando para: %1</translation>
     </message>
         <translation>Baixando atualização...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Canais assinados</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Sinta-se confortável</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Erro</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Parar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Parar a reprodução e voltar à visualização da pesquisa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Pu&amp;lar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Pular para o próximo vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausar a reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Tela Cheia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Ir para a tela cheia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
-        <translation>Ocultar a playlist e a barra de ferramentas</translation>
+        <translation>Ocultar a lista de reprodução e a barra de ferramentas</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Ir à página de vídeo do YouTube e pausar a reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar o link do vídeo atual do YouTube para a área de transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Copiar a URL do stream do vídeo atual para a área de transferência</translation>
+        <translation>Copiar a URL do stream de vídeo atual para a área de transferência</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Localizar partes de outro vídeo esperando na ordem certa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
-        <translation>Remover os vídeos selecionados da playlist</translation>
+        <translation>Remover os vídeos selecionados da lista de reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
-        <translation>Mover para &amp;cima</translation>
+        <translation>Mover Para &amp;Cima</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
-        <translation>Mover para cima os vídeos selecionados na playlist</translation>
+        <translation>Mover para cima os vídeos selecionados na lista de reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
-        <translation>Mover para &amp;baixo</translation>
+        <translation>Mover Para &amp;Baixo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
-        <translation>Mover para baixo os vídeos selecionados na playlist</translation>
+        <translation>Mover para baixo os vídeos selecionados na lista de reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Apagar o histórico de pesquisa. Não pode ser desfeito.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sair</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Tchau</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Si&amp;te</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor, apoie o desenvolvimento continuado de %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Sobre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informações sobre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Pesquisar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Volume mudo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalhes sobre os downloads de vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Baixar o vídeo atual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
-        <translation>&amp;Salvar captura de tela</translation>
+        <translation>&amp;Salvar Captura De Tela</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
-        <translation>A&amp;ssinar um canal</translation>
+        <translation>A&amp;ssinar um Canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Compartilhar o vídeo atual usando %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Fechar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Sempre Acima</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Parar Após Este Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Relatar um problema...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Pesquisa...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mais...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
-        <translation>Vídeos &amp;relacionados</translation>
+        <translation>Vídeos &amp;Relacionados</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
-        <translation>Assistir vídeos relacionados à atual</translation>
+        <translation>Assistir vídeos relacionados com o atual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
-        <translation>Abrir no &amp;navegador...</translation>
+        <translation>Abrir no &amp;Navegador...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
-        <translation>&amp;Gosta do %1? Avalie!</translation>
+        <translation>&amp;Gosta do %1? Avalie-o!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicação</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Adquirir %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
-        <translation>&amp;Playlist</translation>
+        <translation>Lista de &amp;Reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartilhar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajuda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Pressione %1 para aumentar o volume, %2 para diminui-lo</translation>
+        <translation>Pressione %1 para aumentar o volume, %2 para diminuí-lo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Abrindo %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Você deseja sair de &quot;%1&quot; com uma transferência em curso?</translation>
+        <translation>Você deseja sair de %1 com um download em curso?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Se você fechar %1 agora, este download será cancelado.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Fechar e cancelar download</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Aguardar o download terminar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Deixar Em &amp;Tela Cheia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
-        <translation>%1 versão %2 está agora disponível.</translation>
+        <translation>%1 versão %2 já está disponível.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Lembrar mais tarde</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Atualizar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Erro: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ir para a faixa anterior</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;Compacto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir a Página do &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar o &amp;Link do YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Copiar a &amp;URL do Stream do Vídeo</translation>
+        <translation>Copiar a &amp;URL de Stream de Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Localizar &amp;Parte Do Vídeo</translation>
+        <translation>Localizar &amp;Partes Do Vídeo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpar Buscas Recentes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Faça uma &amp;Doação</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Iniciar &amp;Manualmente A Reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Iniciar manualmente a reprodução de vídeos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Escolher seu conteúdo local</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproduzir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Continuar reprodução</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Tempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
-        <translation>Volume a %1%</translation>
+        <translation>Volume em %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Volume está mudo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volume não está mudo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Máxima definição de vídeo definida para %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
-        <translation>Sua privacidade está agora segura</translation>
+        <translation>A sua privacidade está segura agora</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Downloads finalizados</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Agora você pode colar o link do YouTube em outro programa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Agora você pode colar a URL do stream de vídeo em outro programa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>O link só será válido por um tempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Esta é apenas a versão demonstação de %1.</translation>
+        <translation>Esta é apenas a versão demonstração de %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ele permite que você teste o aplicativo e veja se ele funciona para você.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation>epsódio</translation>
+        <translation>episódio</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Envido de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Cancelar a assinatura de %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Assinar %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Baixando %1</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="39"/>
         <source>Skip This Version</source>
-        <translation>Pular esta versão.</translation>
+        <translation>Pular Esta Versão</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="43"/>
         <source>Remind Me Later</source>
-        <translation>Me lembre mais tarde.</translation>
+        <translation>Me Lembre Mais Tarde</translation>
     </message>
     <message>
         <location filename="local/src/updatedialog.cpp" line="47"/>
         <source>Install Update</source>
-        <translation>Instalar atualização.</translation>
+        <translation>Instalar Atualização</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="local/src/pastelineedit.cpp" line="6"/>
         <source>Paste</source>
-        <translation>Colar.</translation>
+        <translation>Colar</translation>
     </message>
 </context>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visualizações</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Falhou</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Finalizado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Parado</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Parar download</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Mostrar em %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Abrir pasta pai</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reiniciar download</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Pesquisando...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
-        <translation>Mostrar mais %1</translation>
+        <translation>Mostrar Mais %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Sem vídeos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Não há mais vídeos</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevância</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Número De Visualizações</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Avaliação</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Sempre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hoje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Duração</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Breve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Médio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Longo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 e 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mais de 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Qualidade</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Alta Definição</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ou superior</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Feito</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Pesquisar</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bem-vindo ao &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Digite</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
-        <translation>uma palavra chave</translation>
+        <translation>uma palavra-chave</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>um canal</translation>
     </message>
         <translation>para começar a assistir vídeos.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Assistir</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Palavra-chave recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canais recentes</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Voltar</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avançar para %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Voltar para %1</translation>
     </message>
         <translation>Refinar Pesquisa</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Você quis dizer: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Alterar local...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Captura de tela salva em %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Local de capturas de tela alterado.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Mais Popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Não foi possível obter stream de vídeo de %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Erro na rede: %1 para %2</translation>
     </message>
index e6b3d29e6f6a334f6e51a5b4f9f7deddf9647ebf..e0d0c724e168b9353c4aff2688c0ad90d0513be1 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ro" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ro" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Există viață dincolo de browser!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Versiunea %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licențiat la %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 este un program gratuit, dar dezvoltarea acestuia necesită timp prețios.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Vă rugăm să &lt;a href=&apos;%1&apos;&gt;donați&lt;/a&gt; pentru a ajuta la continuarea dezvoltării %2.</translation>
+        <translation>Te rog &lt;a href=&apos;%1&apos;&gt;donează&lt;/a&gt; pentru a sprijini dezvoltarea în continuare a %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Poate doriți să încercați și celelalte aplicații ale mele:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un player muzical pentru YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, un player muzical</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Tradu %1 în limba proprie folosind %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Iconița a fost concepută de %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Oferit sub &lt;a href=&apos;%1&apos;&gt;Licența Publică Generală GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>În&amp;chide</translation>
     </message>
         <source>About</source>
         <translation>Despre</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Tot ce ai vrut să știi despre %1 dar nu ai îndrăznit să întrebi</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>De %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Toate videoclipurile</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Videoclipuri pe care nu le-ai vazut</translation>
     </message>
         <translation>Sortează după</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Toate videoclipurile</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Videoclipuri pe care nu le-ai vazut</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Marcat ca vizualizat</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Dezabonează</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Nici unul din canalele la care esti abonat nu are actualizari momentan.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Nu esti abonat la nimic. Ca sa te abonezi la canale, foloseste simbolul stea.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Șterge</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Doar acum</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aceasta este doar o versiune demo a %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Poate să descarce doar videoclipurile mai mici de %1 minute astfel încât să puteți testa funcționalitatea de descărcare.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Continuă</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>ObțineIa versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descărcat în %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Descărcare terminată</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Descărcare</numerusform><numerusform>%n Descărcări</numerusform><numerusform>%n Descărcări</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Schimbă locația...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Alege locația de descărcare</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Locația de descărcare a fost schimbată.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Fişierele în curs de descărcare vor fi salvate în locația anterioară.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Descărcare în: %1</translation>
     </message>
         <translation>Descărcare actualizări...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Fișierul executabil a fost infestat cu un virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 nu va rula. Încercați să-l instalați din nou.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Termină</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Reinstalare</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Canale la care esti abonat</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Fa-te confortabil</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Eroare</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Oprește redarea și întoarce-te la căsuța de căutare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>O&amp;mite</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Treci la videoclipul următor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauză</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pune redarea pe pauză</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Ec&amp;ran complet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Vizualizează pe tot ecranul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ascunde lista de redare și bara de unelte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Deschide pagina de pe YouTube si pune pauză</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiază adresa videoclipului YouTube curent în clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiază adresa fluxului video curent în clipboard</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Caută alte părți ale videoclipului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Ș&amp;terge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Șterge videoclipul selectat din lista de redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Mută în &amp;sus</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mută în sus videoclipul selectat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Mută în &amp;jos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mută în jos videoclipul selectat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Curăță istoricul de căutări. Acțiune ireversibilă.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Ieșire</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>La revedere</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Site &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 pe Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Te rog să susții dezvoltarea aplicației %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Despre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informații despre %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Căutare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Oprire sunet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descărcări</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Arată detalii despre descărcările video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Descărcare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Descarcă videoclipul curent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
-        <translation type="unfinished"/>
+        <translation>Fă &amp;captură de ecran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Aboneza-te la canal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Împărtășește videoclipul curent folosind %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>În&amp;chide</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Detașează</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Ajustați dimensiunea ferestrei</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Oprește După Acest Videoclip</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Raportează o problemă...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Căutare rafinată...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mai multe...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Videoclipuri asemanatoare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Uita-te la videoclipuri similare cu cel curent</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Deschide in &amp;Navigatorul web...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Vă place %1? Evaluați-l!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicație</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Cumpără %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Listă de redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>Vi&amp;zualizare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>Î&amp;mpărtășește</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajutor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Apasă pe %1 pentru a da volumul mai tare sau pe %2 pentru a-l da mai încet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Deschidere %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Doriţi să ieșiți din %1 cu o descărcare în progres?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Dacă ieșiți acum din %1, procesul de descărcare va fi anulat.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Închide și anulează descărcarea</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Așteaptă ca descărcarea să se încheie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Se încarcă...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Ieși din Ec&amp;ran Complet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Versiunea %1 a %2 este acum disponibilă.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Reamintește-mi mai târziu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Actualizează</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Eroare: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Anterioare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Mergi înapoi la piesa precedentă</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Modul &amp;Compact</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Deschide Pagina &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiază &amp;adresa videoclipului YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiază adresa &amp;fluxului video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Caută &amp;Părți ale Videoclipului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Șt&amp;erge Căutările Recente</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Fă o &amp;Donație</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Pornește Redarea &amp;Manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Pornește redarea videoclipurilor manual</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Alege localizarea continutului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Redare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Rezumă redarea videoclipului</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Timp rămas : %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volum %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Sunetul este oprit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Sunetul este pornit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Rezoluția maxima a videoclipului este setată la %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Intimitatea dumneavoastră este acum în siguranță</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Descărcări complete</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Acum poți adăuga adresa YouTube într-o altă aplicație</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Acum poți adăuga adresa fluxului video într-o altă aplicație</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Adresa va fi validă doar pentru o perioadă limitată de timp.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Aceasta este doar o versiune demo a %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Vă permite să testați aplicația și să vedeți dacă funcționează.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Continuă</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>din</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>partea</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>episodul</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Trimis din %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Dezaboneaza-te de la %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Aboneaza-te de la %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Dezabonează-te de la %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Abonează-te la %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Obține versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Descărcare %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 vizionări</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 din %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Se pregateste</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Eșec</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Terminat</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Oprit</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Oprește descărcarea</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Arată în %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Deschide directorul părinte</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Reporneste descărcarea</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Căutare...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Afișează încă %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nici un videoclip</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nu mai sunt videoclipuri</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortează după</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevanță</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Dată</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Vizualizări</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Evaluare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Oricând</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Astăzi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Zile</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Zile</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Durată</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Toate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Scurt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mediu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lung</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Mai scurt de 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Între 4 și 20 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Mai lung de 20 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Calitate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Înaltă Definiție HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p sau definiție mai mare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Terminat</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Caută</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bine ați venit la &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Obține versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introduceți</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>un cuvânt cheie</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
         <translation>pentru a începe să vizionați videoclipuri.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Urmărește</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Căutări recente</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Canale recente</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Î&amp;napoi</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Avanseaza la %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Inapoi la %1</translation>
     </message>
         <translation>Căutare Rafinată</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Ai vrut să spui: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Schimbă locația...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
-        <translation type="unfinished"/>
+        <translation>Captură de ecran salvată la %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Cel mai popular</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nu poate fi accesat fluxul video pentru %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Eroare reţea: %1 pentru %2</translation>
     </message>
index ae854adb40d7819d0d1d42bf17bbd1b40a35b1fa..da60d181431bc666b3549cb0de3e2ea10f862be9 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ru" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ru" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Жизнь вне браузера!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Версия %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Зарегистрирована на: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 - свободное ПО, но его разработка отнимает драгоценное время.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Пожалуйста, &lt;a href=&apos;%1&apos;&gt;поддержите&lt;/a&gt; дальнейшую разработку %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Вы также можете попробовать другие мои приложения:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, плеер музыки c YouTube </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, музыкальный плеер</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Перевести %1 на ваш родной язык с помощью %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Автор значка %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Выпущено на условиях &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыть</translation>
     </message>
         <source>About</source>
         <translation>О программе</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Все что Вы всегда хотели узнать о %1 и никогда бы не спросили</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
         <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to watch videos without interruptions.</source>
         <oldsource>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</oldsource>
-        <translation type="unfinished"/>
+        <translation>Полная версия позволит смотреть видео без пауз.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>От %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>У вас %n новое видео</numerusform><numerusform>У вас %n новых видео</numerusform><numerusform>У вас %n новых видео</numerusform><numerusform>У вас %n новых видео</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Все видео</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Не просмотренное видео</translation>
     </message>
         <translation>Сортировать по</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Все видео</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Не просмотренное видео</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
-        <translation type="unfinished"/>
+        <translation>Отметить как Просмотренное.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Отписаться</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>В настоящее время нет обновлений подписок.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>У вас нет подписок. Используйте символ звездочки чтобы подписаться на каналы.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Очистить</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Только что</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n минуту назад</numerusform><numerusform>%n минуты назад</numerusform><numerusform>%n минут назад</numerusform><numerusform>%n минут(-у,-ы) назад</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n час назад</numerusform><numerusform>%n часа назад</numerusform><numerusform>%n часов назад</numerusform><numerusform>%n час(-а,-ов) назад</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n день назад</numerusform><numerusform>%n дня назад</numerusform><numerusform>%n дней назад</numerusform><numerusform>%n день(-ней,-ня) назад</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n неделю назад</numerusform><numerusform>%n недели назад</numerusform><numerusform>%n недель назад</numerusform><numerusform>%n неделю(-ли,-ль) назад</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n месяц назад</numerusform><numerusform>%n месяца назад</numerusform><numerusform>%n месяцев назад</numerusform><numerusform>%n месяц(-а,-ев) назад</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Это всего лишь демо версия %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Можно загружать только видео не длиннее %1 минут, для проверки функциональности загрузчика. </translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Получить полную версию</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 загружен в %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Загрузка завершена</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>Ð\97агÑ\80Ñ\83жаеÑ\82Ñ\81Ñ\8f %n Ñ\84айл</numerusform><numerusform>Ð\97агÑ\80Ñ\83жаÑ\8eÑ\82Ñ\81Ñ\8f %n Ñ\84айла</numerusform><numerusform>Ð\97агÑ\80Ñ\83жаÑ\8eÑ\82Ñ\81Ñ\8f %n Ñ\84айлов</numerusform></translation>
+        <translation><numerusform>СкаÑ\87ано %n Ñ\80аз</numerusform><numerusform>СкаÑ\87ано %n Ñ\80аза</numerusform><numerusform>СкаÑ\87ано %n Ñ\80аз</numerusform><numerusform>СкаÑ\87ано %n Ñ\80аз(-а)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Изменить путь...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Выбрать путь загрузки</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Путь для загружаемых файлов изменён.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Файлы, загружаемые в данный момент будут сохранены по прежнему адресу.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Файлы загружаются в %1</translation>
     </message>
         <translation>Загрузка обновления....</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 не запущено. Попробуйте установить ещё раз.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Выйти</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Переустановить</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Подписки на каналы</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Чувствуйте себя как дома</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Ошибка</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Остановить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Остановить воспроизведение и вернуться к поиску</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>П&amp;ропустить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Перейти к следующему клипу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Пауза</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Приостановить воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;На весь экран</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Полноэкранное воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Скрыть список воспроизведения и панель инструментов</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Приостановить воспроизведение и перейти на страницу видео в YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Скопировать ссылку текущего клипа YouTube в буфер обмена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Скопировать адрес текущего видео потока в буфер обмена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Найти другие части видео, надеюсь, в правильном порядке</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Удалить выбранные клипы из списка воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>В&amp;верх</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Переместить выбранные видеоклипы вверх в списке воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>В&amp;низ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Переместить выбранные видеоклипы вниз в списке воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Очистить историю запросов. Изменения необратимы.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Выход</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Пока</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Домашняя страница</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 в интернете</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Поддержите дальнейшую разработку %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;О программе</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Сведения о %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Поиск</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Выключить звук</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>Загрузки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Показать подробности о загрузках видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>Загрузить</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Загрузить проигрываемый файл</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
-        <translation type="unfinished"/>
+        <translation>Сделать скриншот</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>Подписаться на канал</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Поделиться текущим видео с помощью %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыть</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Поверх всех окон</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Подстраивать размер окна</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Ост&amp;ановить после этого видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>Соо&amp;бщить об ошибке</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Уточнить поиск...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Больше...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>По&amp;хожее видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Смотреть видео, связанные с текущим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Открыть в &amp;браузере...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Нравится %1? Оцени!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>Пр&amp;иложение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Купить %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Список воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Просмотр</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Поделиться</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>Спр&amp;авка</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Нажмите %1 для увеличения громкости и %2 для уменьшения</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Открытие %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Вы действительно хотите закрыть %1 в то время, как загружаются файлы?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Если вы закроете %1 прямо сейчас, текущие загрузки будут отменены.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Выйти отменив загрузки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Подождать завершения загрузок</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Загрузка...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Покинуть п&amp;олноэкранный режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версия %2 теперь доступна.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Напомнить позже</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Обновление</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Ошибка: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Пр&amp;едыдущий</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Вернуться к предыдущему треку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Компак&amp;тный режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>От&amp;крыть страницу YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Копировать &amp;ссылку на YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Копировать ссылку на в&amp;идео поток</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Найти &amp;фрагменты видео</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>О&amp;чистить последние поисковые запросы</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Сд&amp;елать пожертвование</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Начать проигрывание вручную</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Начать проигрывание видео вручную</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Выберите ваше расположение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Пр&amp;оиграть</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Продолжить воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Осталось: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Громкость %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Звук выключен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Звук включен</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Максимальное разрешение видео: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Конфиденциальность обеспечена</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Загрузка завершена</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Теперь можно вставить адрес YouTube в другое приложение</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Теперь можно вставить адрес видео потока в другое приложение</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Адрес будет существовать ограниченное время.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Данная программа является демо-версией %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Она позволяет вам оценить приложение.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>из</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>часть</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>эпизод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Отправить из %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Отписаться от %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Подписаться на %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Отписаны от %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Подписаны на %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Купить полную версию</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Загружаю %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 просмотров</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 из %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Подготовка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Ошибка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Завершено</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Остановлено</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Отмена загрузки</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Показать в %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Открыть родительский каталог</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Перезапустить загрузку</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Идет поиск...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Показать ещё %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Нет видео</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Нет больше видео</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Сортировать по</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Релевантность</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Дата</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Кол-во просмотров</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Рейтинг</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>В любое время</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Сегодня</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 дней</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 дней</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Продолжительность</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Все</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Короткие</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Средние</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Длинные</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Короче чем 4 минуты</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Между 4 и 20 минутами</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Дольше чем 20 минут</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Качество</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Высокое разрешение</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p или больше</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Поиск</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Добро пожаловать в &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Купить полную версию</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Введите</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>запрос</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
         <translation>чтобы начать просмотр.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Смотреть</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Последние запросы</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Последние каналы</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Н&amp;азад</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Вперед к %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Назад к %1</translation>
     </message>
         <translation>Уточнить поиск</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Возможно вы имели в виду: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Изменить путь...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
-        <translation type="unfinished"/>
+        <translation>Скриншот сохранён в %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
-        <translation type="unfinished"/>
+        <translation>Директория для скриншотов изменена</translation>
     </message>
 </context>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Самые популярные</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Не удалось получить видео поток для %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Ошибка сети: %1 на %2</translation>
     </message>
index f8963bc40b2e4daef29757ba47a5cb121641c0cf..3bcaa897f9440a4b9758b438eb31307cfa85919a 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sk" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="sk" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Ešte stále existuje život aj mimo prehliadač!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Verzia %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licencované pre: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je plne slobodným softvérom, ktorého vývoj si však žiada značnú dávku času.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Preto prosím o akúkoľvek finančnú &lt;a href=&apos;%1&apos;&gt;podporu&lt;/a&gt;  pri pokračujúcom vývoji %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Je možné, že ťa zaujmú aj moje ostatné aplikácie:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, prehrávač YouTube muziky</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, kvalitný hudobný prehrávač</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Prelož %1 do svojho materinského jazyka cez %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikonu nadizajnoval %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Vydané pod &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvoriť</translation>
     </message>
         <source>About</source>
         <translation>O projekte</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Všetko čo chceš o %1 vedieť, bez potreby sa vopred spýtať </translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Od %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Všetky videá</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Neprezreté videá</translation>
     </message>
         <translation>Zoradiť podľa</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Všetky videá</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Neprezreté videá</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Nie sú k dispozícii žiadne aktualizované subskripcie.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Nemáš žiadne subskripcie. Použi symbol hviezdy pre odoberanie kanálov.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Vyčisiť</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ide o demoverziu %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Umožní ti stiahnuť iba videý kratšie ako %1 minút, takže aspoň môžeš otestovať túto funkcionalitu.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Pokračuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 stiahnuté za %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Sťahovanie ukončené.</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Zmeniť umiestnenie...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Zmeniť umiestnenie sťahovaní</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Umiestnenie sťahovaní zmenené.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktuálne sťahovania sa uložia ešte na predchádzajúcom umiestnení.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Sťahujem do: %1</translation>
     </message>
         <translation>Sťahujem aktualizáciu...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Odber kanálov</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Daj sa do pohody</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zastaviť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Zastaviť prehrávanie a vrátiť sa k výsledkom hľadania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Preskočiť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Preskočiť na nasledovné video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pozasaviť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pozastaviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Na celú obrazovku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skryť playlist a nástrojovú lištu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Prejsť na YouTube stránku videa a pozastaviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopírovať YouTube odkaz aktuálneho videa do schránky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopírovať odkaz aktuálneho video streamu do schránky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Pokúsiť sa nájsť zvyšné video časti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odstrániť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Odstrániť vybrané videá z playlistu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Presunúť &amp;nahor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Presunúť vybrané videá v playliste nahor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Presunúť &amp;nadol</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Presunúť vybrané videá v playliste nadol</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Vyčisiť históriu hľadania. Nevratná akcia.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Ukončiť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Maj sa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Domovská stránka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na Internete</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Podpor prosím pokračujúci vývoj %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;O projekte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informácie o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Hľadať</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Stlmiť hlasitosť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Sťahovania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Zobraziť detaily o sťahovaní</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Stiahnuť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Stiahnuť aktuálne video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Odoberať daný kanál</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Zdieľať aktuálne video cez %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-mailová adresa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvoriť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Vždy na vrchu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zastav po tomto videu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Nahlásiť problém...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Upraviť kritériá hľadania...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Viac...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Pridružené vidá</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Pozerať videá pridružené k aktuálnemu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Otvoriť v prehliadači...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikácia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Zakúpiť %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Zobrazenie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Zdieľanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápoveda</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Stlač %1 pre zvýšenie hlasitosti, %2 pre jej zníženie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Otváram %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Chceš ukončiť %1 aj napriek prebiehajúcemu sťahovaniu?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Pokiaľ teraz ukončíš %1, prídeš o aktuálne sťahovanie.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Zatvoriť a zrušiť sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Počkať kým skončí sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opustiť režim &amp;celej obrazovky</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 verzie %2 je k dispozícii.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Pripomenúť neskôr</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Aktualizácia</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Chyba: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Predošlé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Ísť na predošlé video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktný mód</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otvoriť &amp;YouTube stránku</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopírovať &amp;odkaz z YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopírovať &amp;URL video streamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Nájsť zvyšné relevantné &amp;časti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Vyčistiť zoznam posledných hľadaní</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Finančne &amp;podporiť</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuálne prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Koniec manuálneho prehrávania</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Vybrať svoju obsahovú lokáciu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Prehrať</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Obnoviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Zostávajúci čas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Hlasitosť na %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Hlasitosť stlmená</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Hlasitosť nie je stlmená</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximálne rozlíšenie videa nastavené na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Nemaj obavy o súkromie</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Sťahovanie kompletné</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Takto môžeš prilepiť YouTube odkaz do inej aplikácie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Budeš môcť prilepiť odkaz video streamu do inej aplikácie</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Odkaz bude platný len obmedzenú dobu.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ide o demoverziu %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Umožní ti aplikáciu vyskúšať a pohodlne otestovať.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Pokračuj</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>z</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>časť</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epizóda</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Odoslané z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Zrušiť odber z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Odoberať z %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Sťahujem %1.</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 prezretí</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Pripravujem</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Zlyhané</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Úspešné</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Zastavené</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Zastav sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Zobraz v %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Otvor nadradený adresár</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Opakuj sťahovanie</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Hľadám...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Zobraz %1 viac</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Žiadne videá</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Niet viac videí</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Zoradiť podľa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Dátum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Počet zhliadnutí</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Hodnotenie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Kedykoľvek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Dnes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Dĺžka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Všetko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Krátky</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Stredný</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Dlhý</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Menej ako 4 minúty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Medzi 4 a 20 minútami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Viac ako 20 minút</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvalita</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Vysoké rozlíšenie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p alebo vyššie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Hľadať</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Vitaj v aplikácii &lt;a href=&apos;%1&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Vlož</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>kľúčové slovo</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>názov kanálu</translation>
     </message>
         <translation>pre spustenie sledovania.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Pozerať</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Posledné kľúčové slová</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Posledné kanály</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Späť</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Vpred k %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Späť k %1</translation>
     </message>
         <translation>Upraviť kritériá hľadania</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Mali ste na mysli: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Zmeniť umiestnenie...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Najpopulárnejšie</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nedostupný video stream pre %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Chyba siete: %1 pre %2</translation>
     </message>
index 8f9b2aa268d597bf2b31d6c1d7699be12c8ba763..f6a92ddfba96abf1976da0e455e076e563edface 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sl" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="sl" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Zunaj brskalnika je življenje!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Različica %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 je prosta programska oprema, a njen razvoj zahteva dragocen čas.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;Darujte prosim&lt;/a&gt; za podporo stalnemu razvoju %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Morda želite preizkusiti še ostale aplikacije:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube glasbeni predvajalnik</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, glasbeni predvajalnik</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Prevedite %1 v vaš jezik z uporabo programa %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikone je izrisal %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Izdano na podlagi licence &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Zapri</translation>
     </message>
         <source>About</source>
         <translation>O programu</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Kar ste vedno želeli vedeti o %1 a si niste nikoli upali vprašati</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation type="unfinished"/>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Vsi videoposnetki</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
         <translation>Razvrsti glede na</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Vsi videoposnetki</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Počisti</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>To je samo preizkusna različica programa %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Prenese lahko samo posnetke krajše od %1 minut, da lahko preverite delovanje funkcije prenosa.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Pridobi popolno različico</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 preneseno v %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Prenos končan</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Prenos</numerusform><numerusform>%n Prenosa</numerusform><numerusform>%n Prenosi</numerusform><numerusform>%n Prenosov</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Sprememba mesta ...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Izberite mesto prenosa</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Spremenili ste mesto prenosa.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Trenutni prenosi bodo še vedno šli v prejšnje mesto.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Prenos v: %1</translation>
     </message>
         <translation>Prenos posodobitve ...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Naročanje kanalov</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Udobno se namestite</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Napaka</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>U&amp;stavi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ustavi predvajanje in se vrne v iskalni pogled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Pres&amp;koči</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Skoči na naslednji video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pavza</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Premor v predvajanju</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Gre v celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skrije predvajalni seznam in orodno vrstico</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gre na stran posnetka na YouTube in ustavi predvajanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopira povezavo YouTube trenutnega posnetka v odložišče</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopira URL trenutnega video pretoka v odložišče</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Poišče ostale dele posnetka, predvidoma v pravem zaporedju</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Odst&amp;rani</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Odstrani izbrani video iz predvajalnega seznama</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Premakni &amp;gor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Izbrani video premakne mesto više v predvajalnem seznamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Premakni &amp;dol</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Izbrani video premakne mesto niže v predvajalnem seznamu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Izbriše zgodovino iskanje. Tega dejanja ni mogoče razveljaviti.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Nasvidenje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Spletno mesto</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 na spletu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Podprite prosim nadaljni razvoj programa %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;O programu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informacije o %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Išči</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Nemo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>Pre&amp;nosi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Pokaže podrobnosti o prenosih posnetkov</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>Pre&amp;nesi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Prenese trenutni posnetek</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Deli trenutni posnetek preko %1 </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;E-pošta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>E-pošte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Lebdeče na vrhu</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>U&amp;stavi za tem posnetkom</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>P&amp;rijavi napako ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Izboljšaj iskanje ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Več ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Odpri v &amp;Brskalniku...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacija</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Kupi %1 ...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Predvajanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Predvajalni seznam</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Pogled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Deli</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>P&amp;omoč</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pritisnite %1, da povišate glasnost in %2, da jo nižate</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Odpiranje %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Ali res želite zapustiti %1 medtem, ko je aktiven prenos?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>V primeru, da zdaj zaprete %1 bo ta prenos prekinjen.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Zapri in prekliči prenos</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Počakaj, da konča prenos.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Zapusti celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>Na voljo je %1 različica %2.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Opozori me kasneje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Posodobitev</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Napaka: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>P&amp;redhodna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Predhodna sled</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Strnjen način</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Odpri stran &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopiraj povezavo Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiraj &amp;URL toka video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>&amp;Poišči ostale dele posnetka</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Počisti nedavna iskanja</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Pošlji &amp;donacijo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Ročno začni predvajanje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Prični z ročnim predvajanjem posnetkov</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Predvajaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Nadaljuj s predvajanjem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Preostali čas: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Glasnost %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Glasnost je utišana</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Glasnost je povrnjena</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Najvišja ločljivost posnetkov je nastavljena na %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Vaša zasebnost je zdaj varna</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Prenosi so končani</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Zdaj lahko prilepite povezavo na YouTube v drugo aplikacijo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Zdaj lahko prilepite URL video pretoka v drugo aplikacijo</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Povezava bo delovala le za omejen čas.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>To je samo demo različica programa %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Dovoli vam testiranje aplikacije in preverjanje delovanja,</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>od</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>nadaljevanje</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Poslano iz %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Naroči se na %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Pridobi celotno različico</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Prenašanje %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 predvajanj</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 od %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>V pripravi</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Iskanje ...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nobenega videa</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Razvrsti glede na</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Ustreznost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Število ogledov</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Oceno</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Kadarkoli</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Danes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Trajanje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Vse</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kratko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Srednje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Dolgo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Manj kot 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Med 4. in 20. minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Daljše kot 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvaliteta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Visoka ločljivost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p in višje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Narejeno</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Išči</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Pozdravljeni v &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Pridobi celotno različico</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Vnesite</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ključno besedo</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>kanal</translation>
     </message>
         <translation>in začnite gledati posnetke.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Glejte</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Nedavne ključne besede</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Nedavni kanali</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Na&amp;zaj</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation type="unfinished"/>
     </message>
         <translation>Izboljšaj iskanje</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Ali ste mogoče mislili: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Sprememba mesta ...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Najbolj popularno</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Za %1 ni mogoče pridobiti video pretoka</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Napaka omrežja: %1 od %2</translation>
     </message>
index 0648dcfa9b999418cb220a787b77156824962c03..dac728b960b49c7553881db84aeffce6de14439b 100644 (file)
@@ -1,65 +1,64 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sq" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="sq" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Ka jete edhe jashte Shfletuesit te Internetit
 </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licencuar te: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 Eshte Program i Lire por Programuesit te tij i merr kohe te qmueshme</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Ju lutem &lt;a href=&quot;%1&quot;&gt; dhuroni&lt;/a&gt; qe te perkrahni vazhdimin e ndertimit te %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Do te deshironit qe te provoni edhe programet e tjera te mia</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1 , Luajtes i muzikes per YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1 , Luajtes i muzikes</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Perkthe %1 ne gjuhen e tuaj ame duke perdorur %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Dizajnimi i ikones u be nga %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Leshuar nen &lt;a href=&quot;%1&quot;&gt; GNU Licanca Publike Gjenerale&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation> Afer</translation>
     </message>
         <source>About</source>
         <translation>Afersisht</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Qfar keni dashur gjithmon te dini per %1 por asnjeher nuk keni guzuar te pyetni</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Nga %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>T&apos;gjitha videot</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Videot e pa shikuara</translation>
     </message>
         <translation>Rendit sipas</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>T&apos;gjitha videot</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Videot e pa shikuara</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Nuk ka abonime të freskuar për momentin</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Nuk keni abonime . Perdor simbolin yll për tu abonuar te kanalet</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Paster</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ky eshte vetem version per demonstrim i %1</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Mund te shkarkoj vetem video me te shkurta se %1 minut ne menyr qe te testoni funksionimin e shkarkuesit. </translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Vazhdon</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Merrni versionin e plote</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 shkarkuar në %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Shkarkimi ka përfunduar</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Shkarkim</numerusform><numerusform>%n Shkarkime</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Ndrysho lokacionin</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Zghidhni lokacionin e shkarkimeve</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Lokacioni i shkarkimeve u ndryshua.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Shkarkimet e tanishme ende do te ruhen ne lokacionin e meparshem te shkarkimeve.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Duke shkarkuar ne : %1</translation>
     </message>
         <translation>Duke shkarkuar përditësimet</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanalet e abonuara</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Rehatoni veten</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Gabim</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>Ndaloje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Ndaloje rishikimin dhe kthehu prapa te pamje e kerkimit</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>Kaperce</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Kaperce te video e ardhshme</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>Pushoje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pushoje rishikimin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>Ekran te plote</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Kalo ne ekran te plot</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Fshih listen e videove dhe shiritin e veglave</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Kalo ne faqen e videove te YouTube dhe pushoje rishikimin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopjoje linkun e videos se tanishme ne tabelen e ngjitjes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Kopjoje URL e rrjedhes se videos aktuale  ne tabelen e ngjitjes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Gjeni pjes te tjera te videove ne rednin e duhur</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Largoje videon e zgjedhur nga lista e luajtjes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Leviz lart</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Levize lart videon e zgjedhur ne listen e luajtjes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Leviz posht</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Levize posht videon e zghedhur ne listen e luajtjes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Pastro historin e kerkimeve . Nuk mund te zhbehet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>Lëre</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Mireupafshim</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>Adrese interneti</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 ne Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Ju lutem perkrahni vazhdimin e ndertimit te %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>Rreth</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Informata rreth %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Kerkim</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Hesht zerin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>Shkarkimet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Trego detajet rreth videove te shkarkuara</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>Shkarko</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Shkarko videon e tanishme</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp; Abonohu në Kanal</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Shperndaj videon aktuale duke perdorur %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>% Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation> Afer</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Nxjerr ne Krye</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Ndalo pas kesaj video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>%Raportoni një problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>%Përpuno kërkimin....</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Më shum....</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Videot e afërme</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Shiko videot që jan të aferta me videon aktuale</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>Aplikacion</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Blej %1....</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Ridegjim</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Lista e luajtjes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Shiko</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Shperndaje</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>Ndihma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Shtyp %1 qe te rrisni zerin , shtyp %2 qe ta ulni zerin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Duke hapur %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Deshironi te dilni %1 me nje shkarkim ne prapavij?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Nese e mbyllni %1 tani , ky shkarkim do te nderpritet.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Mbyll dhe ndalo shkarkimin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Prisni per shkarkimin qe te mbaroj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Largohu &amp; Ekran te plote</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versioni %2 eshte i gatshem</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Me rikujto me von</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Arrnim</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Gabim:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Mehershme</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Kthehu prapa te kenga e kaluar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Ne mod kompakte</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Hap faqen &amp; e Youtube </translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopjo linkun nga YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopjo rrjedhen e videos &amp; URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Gjej videot &amp; Pjeset</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Pastro kerkimet e me parshme</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Beni nje donacion</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Fillo luajtjen manualisht</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Manualisht fillo luajtjen e videove</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Zgjidhni përmbajtjen e mjedisit tuaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>Luaj</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Rinis rishikimin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Koha e mbetur:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Zeri ne %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Zeri eshte heshtur</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Zeri eshte leshuar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimumi i definicionit te videos eshte vendosur ne %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Privatsia juaj tani eshte e sigurt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Shkarkimet jan kompletuar</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Tani ju mund te ngjitni YouTube linqe ne nje tjeter program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Tani ju mund te ngjitni rrdhjedhen e YouTube URL ne nje tjeter program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Linku do te jet i vlefshem per nje kohe te kufizuar</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ky eshte version vetem per demonstrim i %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ju lejon qe te provoni programin dhe te shifni se a funksionon per ju .</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Vazhdim</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>Pjas</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>Episode</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Derguar nga %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Q&apos;abonohu nga %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Abonohu në %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Merrni versionin e plote</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Duke shkarkuar %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 e shikimeve</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 e %2 (%3)--%4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Duke pregaditur</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Dështoi</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Përfunduat</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Ndaluar</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Ndalo shkarkimin</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Shfaq në %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Hap dosjen e burimit</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Rifillo shkarkimin</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Duke kerkuar</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Shfaq %1 më shumë</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Nuk ka video</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Nuk ka me video tjera</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Rendit sipas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Përkatësi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Datë</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Shiko Llogarit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Klafifikom</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Në qdo kohë</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Sot</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Kohëzgjatja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Gjithë</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Shkurt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mesatar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>I gjatë</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Më pak se 4 minuta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mes 4 dhe 20 minutash</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Më gjat se 20 minuta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kualiteti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Definicion i lartë</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p ose më i lartë</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Kry</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Kerkim</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Mire se erdhet ne &lt;h href=&quot;%1&quot;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Merrni versionin e plote</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Hyr</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>Nje fjal kyqe</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>Nje kanal </translation>
     </message>
         <translation>Per te filluar shikimin e videove.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Shiko</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Fjalit kyqe te fundit</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Kanali i fundit</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Prapa</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Përpara në %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Prapa në %1</translation>
     </message>
         <translation>Rafino kërkimin</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Menduat:%1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Ndrysho lokacionin</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Me i përhapuri</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nuk mund te merr rrjedhen e videos per %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Gabim rrjeti:%1 per %2</translation>
     </message>
index 42a307966d77c9546320817471a0961eba76b64f..e56d5b95cbe0ef2221e73a1a745e87c1bff63d39 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sv_SE" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="sv_SE" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Det finns ett liv utanför webbläsaren!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Licensierad till: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 är fri programvara men utveklingen tar värdefull tid.</translation>
+        <translation>%1 är fri programvara men utvecklingen tar värdefull tid.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Vänligen &lt;a href=&apos;%1&apos;&gt; donera&lt;/a&gt; för att stöda den fortsatta utveklingen utav %2</translation>
+        <translation>Vänligen &lt;a href=&apos;%1&apos;&gt; donera&lt;/a&gt; för att stödja den fortsatta utvecklingen utav %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Du kan gärna prova mina andra program också:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
-        <translation>%1, en YouTube musik spelare</translation>
+        <translation>%1, en YouTube-musikspelare</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
-        <translation>%1, en musik spelare</translation>
+        <translation>%1, en musikspelare</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Översätt %1 till ditt modersmål med %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon designad av %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Släppt under &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Stäng</translation>
     </message>
         <source>About</source>
         <translation>Om</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Vad du alltid velat veta om %1 och aldrig vågat fråga om</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
     <message>
         <location filename="local/src/activationdialog.cpp" line="17"/>
         <source>Enter your License Details</source>
-        <translation>Ange dina Licens Detaljer</translation>
+        <translation>Ange dina Licensdetaljer</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="29"/>
         <source>&amp;Email:</source>
-        <translation>&amp;Email:</translation>
+        <translation>&amp;E-post:</translation>
     </message>
     <message>
         <location filename="local/src/activationdialog.cpp" line="35"/>
     <message>
         <location filename="local/src/activationview.cpp" line="55"/>
         <source>Without a license, the application will expire in %1 days.</source>
-        <translation>Utan en licens, kommer programmet att upphöra inom %1 dag.</translation>
+        <translation>Utan en licens kommer programmet att upphöra inom %1 dagar.</translation>
     </message>
     <message>
         <location filename="local/src/activationview.cpp" line="57"/>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Av %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>Du har %n nytt videoklipp</numerusform><numerusform>Du har %n nya videoklipp</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Alla Videor</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Osedda Videor</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="110"/>
         <source>Last Updated</source>
-        <translation>Senast Uppdaterad</translation>
+        <translation>Senast Uppdaterade</translation>
     </message>
     <message>
         <location filename="src/channelview.cpp" line="117"/>
         <translation>Sortera enligt</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Alla Videor</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Osedda Videor</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Markera som Sedd</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Avprenumerera</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Det finns inga uppdaterade prenumerationer just nu.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Du har inga prenumerationer. Använd stjärnsymbolen för att prenumerera på kanaler.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Rensa</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Just nu</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n minut(er) sen</numerusform><numerusform>%n minut(er) sen</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n timme sen</numerusform><numerusform>%n timmar sen</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n dag(ar) sen</numerusform><numerusform>%n dag(ar) sen</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n vecka sen</numerusform><numerusform>%n veckor sen</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n månad(er) sen</numerusform><numerusform>%n månad(er) sen</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
         <location filename="src/downloaditem.cpp" line="406"/>
         <source>bytes</source>
-        <translation>bytes</translation>
+        <translation>byte</translation>
     </message>
     <message>
         <location filename="src/downloaditem.cpp" line="409"/>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Detta är bara en demo version av %1.</translation>
+        <translation>Detta är bara en demoversion av %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
-        <translation>Det kan bara ladda ner filmer kortare än %1 minuter så att du kan testa ladda ner funktionen.</translation>
+        <translation>Den kan bara ladda ner filmer kortare än %1 minuter så att du kan testa ladda-ned funktionen.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Fortsätt</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
-        <translation> den fullständiga versionen</translation>
+        <translation>Skaffa den fullständiga versionen</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
-        <translation>%1 nerladdad i %2</translation>
+        <translation>%1 nedladdad i %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
-        <translation>Nerladdning klar</translation>
+        <translation>Nedladdning klar</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Nedladning (ar)</numerusform><numerusform>%n Nedladning (ar)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Byt plats ...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Välj hämtningsplats</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Hämtningsplatsen har ändrats.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktuella nedladdningar kommer fortfarande att hamna i den tidigare hämtningsplatsen.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Hämtar till: %1</translation>
     </message>
         <translation>Laddar ner uppdatering...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Den körbara filen har blivit manipulerad, kanske ett virus.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 kan inte köras. Testa att ominstallera.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Stäng</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Ominstallera</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     <message>
         <location filename="src/homeview.cpp" line="73"/>
         <source>Channel subscriptions</source>
-        <translation>Kanal prenumerationer</translation>
+        <translation>Kanalprenumerationer</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Gör det bekvämt för dig</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Fel</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
-        <translation>&amp;Stop</translation>
+        <translation>&amp;Stopp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
-        <translation>Stoppa uppspelningen och gå tillbaka till Sök vyn</translation>
+        <translation>Stoppa uppspelningen och gå tillbaka till Sökvyn</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>H&amp;oppa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Hoppa till nästa video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Pausa uppspelning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Helskärm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Använd helskärm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Dölj spellistan och verktygsfältet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Gå till YouTube-video-sidan och pausa uppspelning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopiera den aktuella YouTube-video-länken till urklipp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Kopiera den nuvarande videoströmmen URL till urklipp</translation>
+        <translation>Kopiera den nuvarande videoströmmens URL till urklipp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Hitta andra videodelar förhoppningsvis i rätt ordning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Ta bort</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
-        <translation>Ta bort markerade videoklippen från spellistan</translation>
+        <translation>Ta bort de markerade videoklippen från spellistan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Flytta &amp;upp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Flytta upp de markerade videoklippen i spellistan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Flytta &amp;nedåt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
-        <translation>Flytta ner markerade videoklippen i spellistan</translation>
+        <translation>Flytta ner de markerade videoklippen i spellistan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Rensa sökhistorik. Kan inte ångras.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Avsluta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Hej då</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Webbsida</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 på webben</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Vänligen stöd den fortsatta utvecklingen av %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Om</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Info om %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Sök</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Volym av</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Nedladdningar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
-        <translation>Visa detaljer om video nedladdningar</translation>
+        <translation>Visa detaljer om videonedladdningar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Ladda ner</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Ladda ner den aktuella videon</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Ta &amp;Skärmbild</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Prenumerera på Kanalen</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Dela nuvarande video med %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
-        <translation>&amp;Email</translation>
+        <translation>&amp;E-post</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
-        <translation>Email</translation>
+        <translation>E-post</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Stäng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flyt ovanpå</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Justera Fönster Storleken</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stoppa efter denna video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapportera ett problem...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Förfinad sökning...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Mer...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Relaterade Videor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Visa videor relaterade till den nuvarande</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Öppna i &amp;Webbläsare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Älskar du %1? Betygsätt den!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Applikation</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Köp %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Uppspelning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Spellista</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Vy</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Dela</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjälp</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Tryck på %1 för att öka volymen, %2 för att sänka den</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Öppnar %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Vill du avsluta %1 med en nedladdning igång?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Om du stänger %1 nu, avbryts nedladdningen.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Stäng och avbryt nedladdning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Vänta på att nedladdning blir klar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Laddar...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Lämna &amp;Helskärm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 är nu tillgänglig</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Påminn mig senare</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Uppdatera</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Fel: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Fö&amp;regående</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Gå tillbaka till föregående spår</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakt läge</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
-        <translation>Öppna &amp;YouTube sidan</translation>
+        <translation>Öppna &amp;YouTube-sidan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopiera YouTube &amp;Länk</translation>
+        <translation>Kopiera YouTube-&amp;Länk</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopiera video ström &amp;URL</translation>
+        <translation>Kopiera videoströmmens &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Hitta Video Delar</translation>
+        <translation>Hitta Videodelar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Rensa Senaste Sökningar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Gör en &amp;Donation</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Starta Spela &amp;Manuellt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Starta Spela Videos Manuellt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Välj plats för din volym</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Spela</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Återuppta uppspelning</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Återstående tid: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Volym %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Ljudet är avstängt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Volymen är på</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
-        <translation>Högsta video upplösning är satt till %1</translation>
+        <translation>Högsta videoupplösning är satt till %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Din integritet är nu säker</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
-        <translation>Nedladdningar klar</translation>
+        <translation>Nedladdningar klara</translation>
     </message>
 </context>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Nu kan du klistra in YouTube-länken i ett annat program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Du kan nu klistra in videoströmmens webbadress i ett annat program</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Länken kommer att gälla endast under en begränsad tid.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
-        <translation>Detta är bara en demo version av %1.</translation>
+        <translation>Detta är bara en demoversion av %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Det tillåter dig att testa programmet och se om det fungerar för dig.</translation>
+        <translation>Den tillåter dig att testa programmet och se om det fungerar för dig.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Fortsätt</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>av</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>del</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>avsnitt</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Skickad från %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Avbryt prenumeration från %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Prenumerera på %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>Prenumeration avbruten från %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>Prenumererad på %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Skaffa den fullständiga versionen</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Hämtar %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 visningar</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 av %2 (%3) -%4</translation>
+        <translation>%1 av %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Förbereder</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Misslyckades</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Färdig</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Stoppad</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
-        <translation>Stoppa nerladdning</translation>
+        <translation>Stoppa nedladdning</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Visa i %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Öppna ursprungsmappen</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
-        <translation>Starta om nerladdning</translation>
+        <translation>Starta om nedladdning</translation>
     </message>
 </context>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Söker...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Visa %1 Till</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Inga videos</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Inga fler videor</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sortera enligt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Relevans</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Mest sedda</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Betyg</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
-        <translation>Närsomhelst</translation>
+        <translation>När som helst</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Idag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 dagar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 dagar</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Längd</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Alla</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Mellan</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Lång</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Kortare än 4 minuter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mellan 4 och 20 minuter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Längre än 20 minuter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kvalitet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Hög Upplösning</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p eller högre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Färdig</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Sök</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Välkommen till &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Skaffa den kompletta versionen</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Ange</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>ett sökord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>en kanal</translation>
     </message>
         <translation>för att börja titta på video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Titta</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Senaste sökord</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Senaste kanaler</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Tillbaka</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Framåt till %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Tillbaka till %1</translation>
     </message>
         <translation>Förfinad sökning</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Menade du: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Byt plats ...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Skärmbild sparad till %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Plats för sparade skärmbilder ändrades.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Mest Populär</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Kan inte få videoström för %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
-        <translation>Nätverks fel: %1 för %2</translation>
+        <translation>Nätverksfel: %1 för %2</translation>
     </message>
 </context>
 <context>
     <message>
         <location filename="src/ytregions.cpp" line="42"/>
         <source>Hong Kong</source>
-        <translation>Hong Kong</translation>
+        <translation>Hongkong</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="43"/>
     <message>
         <location filename="src/ytregions.cpp" line="53"/>
         <source>Mexico</source>
-        <translation>Mexico</translation>
+        <translation>Mexiko</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="54"/>
         <source>Morocco</source>
-        <translation>Marocco</translation>
+        <translation>Marocko</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="55"/>
     <message>
         <location filename="src/ytregions.cpp" line="62"/>
         <source>Saudi Arabia</source>
-        <translation>Saudi Arabien</translation>
+        <translation>Saudiarabien</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="63"/>
     <message>
         <location filename="src/ytregions.cpp" line="64"/>
         <source>South Africa</source>
-        <translation>Syd Afrika</translation>
+        <translation>Sydafrika</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="65"/>
         <source>South Korea</source>
-        <translation>Syd Korea</translation>
+        <translation>Sydkorea</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="66"/>
     <message>
         <location filename="src/ytregions.cpp" line="72"/>
         <source>United Arab Emirates</source>
-        <translation>Förenade Arab Emiraten</translation>
+        <translation>Förenade Arabemiraten</translation>
     </message>
     <message>
         <location filename="src/ytregions.cpp" line="73"/>
index d03e968d2e17e2cc3d8393387476178016013e76..7c89b9def10ba2b85128a145a306baeb799722f2 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="th" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="th" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>มีชีวิตนอกเบราว์เซอร์!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>เวอร์ชั่น %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>ถูกลงทะเบียนสู่: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 เป็นโปรแกรมฟรีแต่การพัฒนามันจะต้องใช้เวลาเป็นอย่างมาก</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>กรุณา &lt;a href=&apos;%1&apos;&gt;บริจาค&lt;/a&gt; เพื่อสนับสนุนการพัฒนาโปรแกรม %2 ต่อไป</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>คุณอาจอยากลองใช้แอปพลิเคชั่นอื่นของฉันเช่นกัน:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, เครื่องเล่นดนตรี YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, เครื่องเล่นดนตรี</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>แปล %1 สุ่ภาษาของคุณโดยใช้ %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>ออกแบบไอคอนโดย %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>ปล่อยเผยแพร่ภายใต้ &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;ปิด</translation>
     </message>
         <source>About</source>
         <translation>เกี่ยวกับ</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>อะไรที่คุณอยากรู้เกี่ยวกับ %1 และไม่เคยกล้าที่จะถาม</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>โดย %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>วิดีโอทั้งหมด</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>วิดีโอที่ไม่ได้รับชม</translation>
     </message>
         <translation>เรียงตาม</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>วิดีโอทั้งหมด</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>วิดีโอที่ไม่ได้รับชม</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>หมายเหตุว่ารับชมแล้ว</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>เลิกสมัครติดตาม</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>ไม่มีการสมัครติดตามที่อัพเดต ณ เวลานี้</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>คุณไม่มีการสมัครติดตาม ใช้สัญลักษณ์ดาวเพื่อสมัครติดตามช่อง</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>ล้าง</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>นี้เป็นแค่เวอร์ชั่นทดลองใช้ของ %1</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>สามารถดาวน์โหลดวิดึโอส้ันๆกว่า %1 นาที เพื่อทดสอบฟังชั่นดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>ต่อไป</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>รับเวอร์ชั่นเต็ม</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ถูกดาวน์โหลดใน %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>ดาวน์โหลดเสร็จสิ้น</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>เปลี่ยนที่ตั้ง...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>เลือกที่ตั้งการดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>ที่ตั้งการดาวน์โหลดถูกเปลี่ยน</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>การดาวน์โหลดปัจจุบันจะยังคงไปสู่ที่ตั้งก่อนหน้านี้</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>กำลังดาวน์โหลดสู่: %1</translation>
     </message>
         <translation>กำลังดาวน์โหลดอัพเดต...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>การสมัครติดตามช่อง</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>ทำตัวเองให้สบาย</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>ผิดพลาด</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;หยุด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>หยุดเล่นและกลับสู่มุมมองการค้นหา</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;ข้าม</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>ข้ามสู่วิดีโอถัดไปไป</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;พัก</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>พักการเล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>เ&amp;ต็มจอ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>ทำให้เต็มจอ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>ซ่อนบัญชีการเล่นและแถบเครื่องมือ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>ไปที่หน้าวิดีโอ YouTube และพักการเล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>คัดลอกลิงค์วิดีโอ YouTube ในปัจจุบันไปยังคลิปบอร์ด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>คัดลอก URL กระแสวิดีโอปัจจุบันสู่คลิปบอร์ด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>ค้นหาตอนอื่นๆของวิดีโอ โดยหวังตามลำดับที่ถูกต้อง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;ลบออก</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>ลบวิดีโอที่เลือกออกจากบัญชีการเล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>ย้าย&amp;ขึ้น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>เลื่อนวิดีโอที่เลือกขึ้นบน ในบัญชีการเล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>ย้าย&amp;ลง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>เลื่อนวิดีโอที่เลือกลงล่าง ในบัญชีการเล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>การล้างประวัติการค้นหา ไม่สามารถเลิกทำได้</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;ออก</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>ลาก่อน</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>เ&amp;ว็บไซต์</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 บนเว็บ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>กรุณาสนับสนุนการพัฒนาอย่างต่อเนื่องของ %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;เกี่ยวกับ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>ข้อมูลเกี่ยวกับ %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>ค้นหา</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>เงียบเสียง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;ดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>แสดงข้อมูลของวิดีโอที่ดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;ดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>ดาวน์โหลดวิดีโอปัจจุบัน</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>&amp;ถ่ายภาพ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;สมัครติดตามช่อง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>แชร์วิดีโอปัจจุบันโดยใช้ %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;อีเมล</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>อีเมล</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;ปิด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;วางอยู่บนสุด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;หยุดหลังจากวิดีโอนี้</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;รายงานปัญหา...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;ค้นหาโดยละเอียด...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>เพิ่มเติม...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;วิดีโอที่เกี่ยวข้อง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>รับชมวิดีโอที่เกี่ยวข้องกับรายการปัจจุบัน</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>เปิดในเ&amp;บราว์เซอร์...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;ชอบ %1 มั้ย? ให้คะแนนมันหน่อย!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;แอปพลิเคชั่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>ซื้อ %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>การเ&amp;ล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;บัญชีการเล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;วิดีโอ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;มุมมอง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>แ&amp;บ่งปัน</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;ช่วยเหลือ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>กด %1 เพื่อเพิ่มเสียง กด %2 เพื่อลดเสียง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>กำลังเปิด %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>คุณจะออกจาก %1 โดยที่การดาวน์โหลดกำลังดำเนินอยู่หรือ?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>ถ้าคุณปิด %1 ตอนนี้ การดาวน์โหลดจะถูกยกเลิก</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>ปิดและยกเลิกการดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>รอให้ดาวน์โหลดเสร็จ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>ออกจากแบบเ&amp;ต็มจอ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 เวอร์ชั่น %2 ตอนนี้มีพร้อมใช้</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>แจ้งฉันภายหลัง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>อัพเดต</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>ผิดพลาด: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;ก่อนหน้า</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>กลับไปที่แทร็คก่อนหน้า</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>โหมด&amp;กะทัดรัด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>เ&amp;ปิดหน้า Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>คัดลอก&amp;ลิงค์ Youtube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>คัดลอก &amp;URL ของกระแสวิดีโอ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>ค้นหา&amp;ตอนของวิดีโอ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;ล้างการค้นหาเมื่อเร็วๆนี้</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>ทำการ&amp;บริจาค</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>เ&amp;ริ่มการเล่นด้วยตนเอง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>เริ่มการเล่นวิดีโอด้วยตนเอง</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>เลือกที่ตั้งเนื้อหาของคุณ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>เ&amp;ล่น</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>เล่นต่อจากเดิม</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>เวลาที่เหลือ: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>ความดังเสียงที่ %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>เสียงถูกปิด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>เสียงถูกเปิด</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>ใช้วิดีโอความละเอียดสูงสุด %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>ความเป็นส่วนตัวของคุณขณะนี้ปลอดภัย</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>ดาวน์โหลดเสร็จ</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>ตอนนี้คุณสามารถวางลิงค์ของ YouTube ในแอปพลิเคชั่นอื่นได้</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>ตอนนี้คุณสามารถวาง URL ของกระแสวิดีโอลงในแอปพลิเคชั่นอื่นได้</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>ลิงค์จะใช้ได้ในระยะเวลาที่จำกัดเท่านั้น</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>นี้เป็นแค่เวอร์ชั่นทดลองใช้ %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>มันช่วยให้คุณทดสอบโปรแกรมและดูว่ามันใช้ได้ผลกับคุณหรือเปล่า</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>ต่อไป</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>จาก</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>ตอน</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>ภาค</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>ถูกส่งจาก %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>เลิกสมัครติดตามจาก %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>สมัครติดตามสู่ %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>ทำให้เป็นเวอร์ชั่นเต็ม</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>กำลังดาวน์โหลด %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>ดู %1 ครั้ง </translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 ของ %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>กำลังเตรียม</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>ล้มเหลว</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>เสร็จสมบูรณ์</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>ถูกหยุด</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>หยุดการดาวน์โหลด</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>แสดงใน %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>เปิดโฟลเดอร์แม่</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>เริ่มดาวน์โหลดใหม่</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>กำลังค้นหา...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>แสดง %1 เพิ่มเติม</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>ไม่มีวิดีโอ</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>ไม่มีวิดีโอเพิ่มเติม</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>เรียงตาม</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>ความเกี่ยวข้อง</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>วันที่</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>จำนวนการดู</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>คะแนน</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>เวลาใดๆ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>วันนี้</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 วัน</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 วัน</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>ระยะเวลา</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>ทั้งหมด</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>สั้น</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>ปานกลาง</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>ยาว</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>น้อยกว่า 4 นาที</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>ระหว่าง 4 ถึง 20 นาที</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>ยาวกว่า 20 นาที</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>คุณภาพ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>ความละเอียดสูง</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p หรือสูงกว่า</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>เสร็จแล้ว</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>ค้นหา</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>ยินดีต้อนรับสู่ &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>ซื้อเวอร์ชั่นเต็ม</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>ตกลง</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>คำสำคัญ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>ช่อง</translation>
     </message>
         <translation>เพื่อเริ่มรับชมวิดีโอ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>รับชม</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>คำสำคัญเมื่อเร็วๆนี้</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>ช่องเมื่อเร็วๆนี้</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;กลับ</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>เดินหน้าสู่ %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>กลับสู่ %1</translation>
     </message>
         <translation>ค้นหาโดยละเอียด</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>หรือคุณหมายถึง: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>เปลี่ยนที่บันทึก</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>ภาพถ่ายถูกบันทึกสู่ %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>ที่ตั้งของภาพถ่ายถูกเปลี่ยน</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>ยอดนิยม</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>ไม่สามารถรับกระแสวิดีโอของ %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>เครือข่ายขัดข้อง: %1 สำหรับ %2</translation>
     </message>
index 8686e6331425c58302a38d434c5f6655e79aae25..a8edc5d5df4f3947fcc89a675d1c1e410e9e4b4e 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="tr" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="tr" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Tarayıcının dışındaki yaşam!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Sürüm %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>%1 için lisanslanmıştır</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 özgür yazılımdır ama geliştirmek değerli zaman alır.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Lütfen %2 geliştirilmesinin devam etmesi için &lt;a href=&apos;%1&apos;&gt;bağış&lt;/a&gt; yapın.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Bunun yanında diğer uygulamalarımı da denemek isteyebilirsiniz:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube müzik oynatıcı</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, bir müzik çalar</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>%1&apos;i, %2 kullanarak kendi dilinize çevirin</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Simge %1 tarafından tasarlandı.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;GNU Genel Kamu Lisansı&lt;/a&gt; ile yayınlanmıştır</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>Kapat (&amp;C)</translation>
     </message>
         <source>About</source>
         <translation>Hakkında</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>%1 hakkında her zaman bilmek isteyip de soramadıklarınız</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>%1 tarafından</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+        <translation><numerusform>%n yeni video(lar) mevcut</numerusform><numerusform>%n yeni video(lar) mevcut</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Tüm Videolar</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>İzlenmemiş Videolar</translation>
     </message>
         <translation>Sırala</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Tüm Videolar</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>İzlenmemiş Videolar</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>İzlendi olarak İşaretle</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Aboneliği Kaldır</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Şu anda güncellenen abonelik yok.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Hiç aboneliğiniz yok. Kanallara abone olmak için yıldız simgesini kullanın.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Temizle</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>Şuanda</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>&amp;n dakika önce()</numerusform><numerusform>&amp;n dakika önce()</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>&amp;n saat önce()</numerusform><numerusform>&amp;n saat önce()</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>&amp;n gün önce()</numerusform><numerusform>&amp;n gün önce()</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>&amp;n hafta önce()</numerusform><numerusform>&amp;n hafta önce()</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>&amp;n ay önce()</numerusform><numerusform>&amp;n ay önce()</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Bu sadece %&apos;in demo sürümüdür.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Bu sadece %1 dakikadan kısa videoları indirebilir, indirme özelliğini böylece test edebilirsiniz.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Devam</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%2 de %1 indirildi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>İndirme tamamlandı.</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n İndirme</numerusform><numerusform>%n İndirme</numerusform></translation>
+        <translation><numerusform>&amp;n İndirme(ler)</numerusform><numerusform>&amp;n İndirme(ler)</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Konumu değiştir...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>İndirme konumunu seçin</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>İndirme konumu değişti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Mevcut indirmeler önceki konumda devam edecek</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>İndiriliyor: %1</translation>
     </message>
         <translation>Güncelleme indiriliyor...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>Çalıştırılabilir dosya belki virüs tarafından hasar görmüş olabilir.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 çalıştırılamıyor. Tekrar yüklemeyi deneyin.</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Çık</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Yeniden yükle</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Kanal abonelikleri</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Kendinizi rahat hissedin</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Hata</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>Dur (&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Oynatmayı durdur ve aramaya geri dön</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>&amp;Atla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Sonraki videoya atla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Bekle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Oynatmayı beklet</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Tam ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Tam ekran görünümü</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Listeyi ve araç çubuğunu gizle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Oynatmayı beklet ve YouTube sayfasına git</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Geçerli videonun YouTube bağlantısını panoya kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Geçerli video akışının URL adresini panoya kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Doğru sırada olacak şekilde diğer video kısımlarını bul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Kaldır</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Seçilen videoları listeden kaldır</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Y&amp;ukarı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Seçilen videoları listede yukarı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>A&amp;şağı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Seçilen videoları listede aşağı taşı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Arama geçmişini sil. Bu geri alınamaz.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Çık</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Gülegüle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 İnternette</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Lütfen %1 gelişiminin sürekliliği için destekleyin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Hakkında</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>%1 Hakkında</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Ara</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Sesi kes</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;İndirmeler</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Video indirmelerinin ayrıntılarını göster</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;İndir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Geçerli videoyu indir</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>&amp;Ekran Görüntüsü Al</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>Kanala Abone Ol (&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>%1 kullanarak şu an ki videoyu paylaş</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Eposta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Eposta</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Kapat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>Üstte Sabitle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Pencere Boyutunu Ayarla</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Bu Videodan &amp;Sonra Durdur</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>Bir Sorun Bildi&amp;r</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>A&amp;ramayı Sınırla...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Dahası...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Benze&amp;r Videolar</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Şu an izlediğinize benzer videolar izleyin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>&amp;Tarayıcıda aç...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>%1 &amp;seviyor musunuz? Değerlendirin!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Uygulama</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>%1 Satın Al...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Çalma</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>Oynatma &amp;listesi</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Görünüm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>Payla&amp;s</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>Yardı&amp;m</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>%1 Sesi arttır, %2 sesi azalt</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>%1 Açılıyor</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>%1 İndiriliyor, çıkmak istiyor musunuz?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Eğer %1&apos;İ şimdi kapatırsanız, bu indirme iptal edilecek.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Kapat ve indirmeyi iptal et</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>İndirmenin bitmesini bekle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Yükleniyor</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Tam Ekrandan Çık</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 sürüm %2 kullanılabilir durumda.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Daha sonra hatırlat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Güncelle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Hata: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>Önceki</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Bir önceki parçaya geri dön</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Kü&amp;cültümüş Ekran</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube Sayfasını Aç</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;Linkini Kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Video &amp;URL&apos;sini Kopyala</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Video Bölümlerini Bul</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Son Aramaları Temizle</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Bağış Yap</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuel Olarak Çalmaya Başla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Videoları manuel olarak çalmaya başla</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Konumunuzu seçin</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Oynat</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Oynatmaya devam et</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Kalan zaman: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Ses %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Ses kapandı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Ses açık</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>En yüksek video tanımı %1 olarak ayarlı</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Şimdi gizliliğiniz güvende</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>İndirme tamamlandı</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Şimdi YouTube bağlantısını başka bir uygulamaya yapıştırabilirsiniz</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Şimdi video akışı URL adresini başka bir uygulamaya yapıştırabilirsiniz</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Bağlantı kısıtlı bir süre için geçerli olacak.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Bu sadece %1&apos;in demo sürümüdür.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Bu, uygulamayı test etmenizi ve çalışıp çalışmadığını görmenizi sağlar.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Devam</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>kısım</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>bölüm</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>%1 ile gönderildi</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>%1 aboneliğinden çık</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>%1 Abone Ol</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>%1 aboneliğinden çık</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>%1 Abone Ol</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>İndiriliyor %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 görüntülenme</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 of %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Hazırlanıyor</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Başarısız</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Tamamlandı</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Durduruldu</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>İndirme işlemini durdur</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>%1 içinde göster</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Önceki dizini aç</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>İndirme işlemini yeniden başlat</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Aranıyor...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>%1 Tane Daha Göster</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Video yok</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Daha fazla video yok</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sırala</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Alaka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Tarih</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Hiti Göster</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Hit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Herhangi bir zaman</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Bugün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Gün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Gün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Süre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Hepsi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Kısa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Orta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Uzun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>4 dakikadan kısa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 - 20 dakika arası</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>20 dakikadan uzun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Kalite</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Yüksek Kalite</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p veya daha yüksek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Bitti</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Ara</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;&apos;a Hoşgeldiniz</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Giriş yapın</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>bir anahtar kelime</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>bir kanal</translation>
     </message>
         <translation>ve videoları izlemeye başlayın.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>İzle</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Son arananlar</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Önceki kanallar</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Geri</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>%1 Yönlendir</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Geri Dön: %1</translation>
     </message>
         <translation>A&amp;ramayı Sınırla</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Bunu mu demek istediniz: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Konumu değiştir...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Ekran görüntüsü %1 konumuna kaydedildi</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Ekran görüntüsü konumu değişti.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>En popülerler</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>%1 için video akışı alınamıyor.</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Ağ hatası: %2 için  %1</translation>
     </message>
index 000d003d1e435514a65550affdbee2c409d8d486..860472008f484015a358981a99d109e4135b82b6 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>За межами оглядача тенет також є життя!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Версія %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Ліцензія належить: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 — вільне проґрамне забезпечення, але на його розробку було затрачено коштовний час.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Будь ласка, &lt;a href=&apos;%1&apos;&gt;внесіть пожертву,&lt;/a&gt; аби підтримати подальший розвиток %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Спробуйте інші проґрами:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, музичний програвач для YouTube </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, музичний програвач</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Перекласти %1 Вашою рідною мовою за допомогою %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Розробник піктоґрам %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Випущено за &lt;a href=&apos;%1&apos;&gt;Загальною громадською ліцензією GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрити</translation>
     </message>
         <source>About</source>
         <translation>Про проґраму</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Усе, що ви завжди хотіли знати про %1, але не наважувалися запитати</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>За %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Усі видива</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Не переглянуті видива</translation>
     </message>
         <translation>Сортувати за</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Усі видива</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Не переглянуті видива</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Позначити як переглянуте</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Відмовитися від підписки</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Наразі оновлень підписок немає.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>У Вас немає підписок. Використовуйте символ зірочки, аби підписуватися на канали.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Очистити</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Це демонстраційна версія %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Із метою тестування, Ви можете завантажити видиво тривалістю до %1 хв. </translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Продовжити</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Отримати повну версію</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 завантажений до %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Завантаження завершено</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>Завантажується %n файл</numerusform><numerusform>Завантажуються %n файли</numerusform><numerusform>Завантажуються %n файлів</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Змінити теку для завантаження...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Оберіть теку для завантаження</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Теку завантаження змінено.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Поточні завантаження буде, як і раніше, збережено у попередньому місці.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Завантажується до %1</translation>
     </message>
         <translation>Завантаження оновлення...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>Вийти</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>Перевстановити</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Підписки на канали</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Влаштовуйтесь якнайзручніше</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Помилка</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Зупинити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Зупинити відтворення та перейти до вікна пошуку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>П&amp;ропустити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Перейти до наступного видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Призупинити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Призупинити відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Повноекранний режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Перейти до повноекранного режиму</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Сховати перелік та панель інструментів</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Відкрити сторінку YouTube та призупинити відтворення видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Скопіювати YouTube посилання поточного видива до буферу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Скопіювати посилання поточного видива до буферу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Знайти інші частини видива, сподіваюся, у правильному порядку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Вилучити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Вилучити обрані видива з переліку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>До&amp;гори</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Перемістити обране видиво догори у переліку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Дони&amp;зу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Перемістити обране видиво донизу в переліку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Очистити історію пошуку (зміни незворотні).</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Вийти</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Бувайте</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Веб-сайт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 у мережі</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Будь ласка, підтримайте подальший розвиток %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Про проґраму</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Інформація про %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Шукати</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Приглушити гучність</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Завантаження</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Показати деталі про видива, що завантажуються</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Завантажити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Завантажити це видиво</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Зробити &amp;Зняток</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Підписатися на канал</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Поділитися поточним видивом за допомогою %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Згори всіх вікон</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>&amp;Змінити розмір вікна</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Зу&amp;пинити після цього видиво</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>По&amp;відомити про помилку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Уточнити пошук...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Більше...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Схо&amp;жі видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Дивитися видива, пов’язані з поточним</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Відкрити в &amp;оглядачі тенет...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Подобається %1? Оцініть !</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Застосунок</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Придбати %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Перелік відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Видиво</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Переглянути</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Поділитися</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Довідка</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Натисніть %1, аби приглушити гучність, та %2, щоб її відновити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Відкриття %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Триває завантаження, бажаєте закрити %1?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Якщо закрити %1 негайно, усі завантаження буде скасовано.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Скасувати та закрити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Дочекатися завершення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>&amp;Завантажити...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Вийти з &amp;повноекранного режиму</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версія %2 доступна.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Нагадати мені пізніше</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Оновлення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Помилка: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>По&amp;передній</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Повернутися до попереднього треку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Компак&amp;тний режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Від&amp;крити сторінку YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Копіювати &amp;посилання на YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Копіювати посилання на ви&amp;диво потік</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Знайти &amp;фраґменти видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>О&amp;чистити останні пошукові запити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Підтрима&amp;йте проєкт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Почати відтворення самотужки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Почати відтворення видива самотужки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Оберіть своє місцерозташування</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Грати</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Відновити відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Залишилося часу: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Гучність %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Гучність приглушено</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Гучність відновлено</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Режим чіткості видива %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Ваша приватність тепер у безпеці</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Завантаження завершено</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Тепер Ви можете використовувати YouTube посилання на видиво у зовнішній проґрамі</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Тепер Ви можете використовувати посилання на видиво у зовнішній проґрамі</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Посилання буде дійсне лише протягом обмеженого часу.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>&gt;Це демонстраційна версія %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ви маєте змогу протестувати проґраму та перевірити працездатність.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Продовжити</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>з</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>частина</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>епізод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Надіслати з %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Відписатися %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Підписуватися на %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Отримати повну версію</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Завантаження %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 переглядів</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 з %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Підготовка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Невдача</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Виконано</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Зупинено</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Зупинити завантаження</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Відтворити у %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Перейти до теки з видивами</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Завантажити заново</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Пошук...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Наступні %1 </translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Нічого не знайдено</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Більше немає</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Сортувати за</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Релевантністю</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Датою</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Числом переглядів</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Рейтинґом</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>У будь-який час</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Сьогодні</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 днів</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 днів</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Тривалістю</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Усі</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Короткі</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Середні</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Довгі</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Коротші за 4 хвилини</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Між 4 та 20 хвилинами</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Довші, аніж 20 хвилин</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Якість</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Висока роздільна здатність</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p або більше</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Шукати</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Ласкаво просимо до &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Отримати повну версію</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Уведіть</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>запит</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
         <translation>аби розпочати перегляд.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Дивитися</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Нещодавній пошук</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Останні канали</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Н&amp;азад</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Уперед до %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Назад до %1</translation>
     </message>
         <translation>Уточнити пошук</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Можливо, Ви мали на увазі: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Змінити теку для завантаження...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Зняток збережено в %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Місцезнаходження знятків змінено.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Найпопулярніші</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Не вдалося отримати видивопотік для %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Помилка мережі: %1 для %2</translation>
     </message>
index f4b32cc31c52c56b0f41fc6d46171ac1b2fa97dd..56433ecff5c2341d6db4abd7679edeb7e754324e 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk_UA" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk_UA" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>За межами оглядача тенет також є життя!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Версія %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Ліцензія належить: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 — вільне проґрамне забезпечення, але на його розробку було затрачено коштовний час.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Будь ласка, &lt;a href=&apos;%1&apos;&gt;внесіть пожертву,&lt;/a&gt; аби підтримати подальший розвиток %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Спробуйте інші проґрами:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, музичний програвач для YouTube </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, музичний програвач</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Перекласти %1 Вашою рідною мовою за допомогою %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Розробник піктоґрам %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Випущено за &lt;a href=&apos;%1&apos;&gt;Загальною громадською ліцензією GNU&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрити</translation>
     </message>
         <source>About</source>
         <translation>Про проґраму</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Усе, що ви завжди хотіли знати про %1, але не наважувалися запитати</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>За %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Усі видива</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Не переглянуті видива</translation>
     </message>
         <translation>Сортувати за</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Усі видива</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Не переглянуті видива</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>Позначити як переглянуте</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>Відмовитися від підписки</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Наразі оновлень підписок немає.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>У Вас немає підписок. Використовуйте символ зірочки, аби підписуватися на канали.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Очистити</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Це демонстраційна версія %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Із метою тестування, Ви можете завантажити видиво тривалістю до %1 хв. </translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Продовжити</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Отримати повну версію</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 завантажений до %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Завантаження завершено</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>Завантажується %n файл</numerusform><numerusform>Завантажуються %n файли</numerusform><numerusform>Завантажуються %n файлів</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Змінити теку для завантаження...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Оберіть теку для завантаження</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Теку завантаження змінено.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Поточні завантаження буде, як і раніше, збережено у попередньому місці.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Завантажується до %1</translation>
     </message>
         <translation>Завантаження оновлення...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Підписки на канали</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Влаштовуйтесь якнайзручніше</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Помилка</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Зупинити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Зупинити відтворення та перейти до вікна пошуку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>П&amp;ропустити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Перейти до наступного видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Призупинити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Призупинити відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Повноекранний режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Перейти до повноекранного режиму</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Сховати перелік та панель інструментів</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Відкрити сторінку YouTube та призупинити відтворення видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Скопіювати YouTube посилання поточного видива до буферу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Скопіювати посилання поточного видива до буферу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Знайти інші частини видива, сподіваюся, у правильному порядку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Вилучити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Вилучити обрані видива з переліку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>До&amp;гори</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Перемістити обране видиво догори у переліку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Дони&amp;зу</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Перемістити обране видиво донизу в переліку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Очистити історію пошуку (зміни незворотні).</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Вийти</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Бувайте</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Веб-сайт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 у мережі</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Будь ласка, підтримайте подальший розвиток %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Про проґраму</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Інформація про %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Шукати</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Приглушити гучність</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Завантаження</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Показати деталі про видива, що завантажуються</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Завантажити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Завантажити це видиво</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>Зробити &amp;Зняток</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp;Підписатися на канал</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Поділитися поточним видивом за допомогою %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Згори всіх вікон</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>Зу&amp;пинити після цього видиво</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>По&amp;відомити про помилку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Уточнити пошук...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Більше...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>Схо&amp;жі видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Дивитися видива, пов’язані з поточним</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Відкрити в &amp;оглядачі тенет...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>&amp;Подобається %1? Оцініть !</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Застосунок</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Придбати %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Перелік відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Видиво</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Переглянути</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Поділитися</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Довідка</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Натисніть %1, аби приглушити гучність, та %2, щоб її відновити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Відкриття %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Триває завантаження, бажаєте закрити %1?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Якщо закрити %1 негайно, усі завантаження буде скасовано.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Скасувати та закрити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Дочекатися завершення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Вийти з &amp;повноекранного режиму</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версія %2 доступна.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Нагадати мені пізніше</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Оновлення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Помилка: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>По&amp;передній</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Повернутися до попереднього треку</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>Компак&amp;тний режим</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Від&amp;крити сторінку YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Копіювати &amp;посилання на YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Копіювати посилання на ви&amp;диво потік</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Знайти &amp;фраґменти видива</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>О&amp;чистити останні пошукові запити</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Підтрима&amp;йте проєкт</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Почати відтворення самотужки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Почати відтворення видива самотужки</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Оберіть своє місцерозташування</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Грати</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Відновити відтворення</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Залишилося часу: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Гучність %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Гучність приглушено</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Гучність відновлено</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Режим чіткості видива %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Ваша приватність тепер у безпеці</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Завантаження завершено</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Тепер Ви можете використовувати YouTube посилання на видиво у зовнішній проґрамі</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Тепер Ви можете використовувати посилання на видиво у зовнішній проґрамі</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Посилання буде дійсне лише протягом обмеженого часу.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>&gt;Це демонстраційна версія %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Ви маєте змогу протестувати проґраму та перевірити працездатність.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Продовжити</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>з</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>частина</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>епізод</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Надіслати з %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Відписатися %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Підписуватися на %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Отримати повну версію</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Завантаження %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 переглядів</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 з %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Підготовка</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Невдача</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Виконано</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Зупинено</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Зупинити завантаження</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Відтворити у %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Перейти до теки з видивами</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Завантажити заново</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Пошук...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Наступні %1 </translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Нічого не знайдено</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Більше немає</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Сортувати за</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Релевантністю</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Датою</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Числом переглядів</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Рейтинґом</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>У будь-який час</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Сьогодні</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 днів</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 днів</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Тривалістю</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Усі</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Короткі</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Середні</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Довгі</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Коротші за 4 хвилини</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Між 4 та 20 хвилинами</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Довші, аніж 20 хвилин</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Якість</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Висока роздільна здатність</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p або більше</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Шукати</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Ласкаво просимо до &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Отримати повну версію</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Уведіть</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>запит</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
         <translation>аби розпочати перегляд.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Дивитися</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Нещодавній пошук</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Останні канали</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>Н&amp;азад</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Уперед до %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Назад до %1</translation>
     </message>
         <translation>Уточнити пошук</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Можливо, Ви мали на увазі: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Змінити теку для завантаження...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>Зняток збережено в %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>Місцезнаходження знятків змінено.</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Найпопулярніші</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Не вдалося отримати видивопотік для %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Помилка мережі: %1 для %2</translation>
     </message>
index 351931d808967e7e548770e73f21421e352f3ec6..94ca7c7c3a99e99be631cdf73fbca929e68ddf8f 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="vi" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="vi" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Nên nhớ vẫn còn có nhiều điều thú vị hơn bên ngoài trình duyệt này!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>Phiên bản %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>Giấy phép: %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 là phần mềm miễn phí nhưng quá trình phát triển phần mềm này mất rất nhiều thời gian cũng như tâm sức.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Xin vui lòng &lt;a href=&apos;%1&apos;&gt;đóng góp về tài chính cho chúng tôi&lt;/a&gt; để hỗ trợ việc phát triển của %2.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Bạn có thể muốn thử các ứng dụng khác của tôi :</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, là một trình nghe nhạc trên YouTube</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, là một trình phát nhạc</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Chuyển ngữ %1 sang ngôn ngữ của bạn bằng cách sử dụng %2</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>Biểu tượng được thiết kế bởi %1.</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Được phát hành với điều khoản của &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>&amp;Đóng lại</translation>
     </message>
         <source>About</source>
         <translation>Dịch bởi Phan Anh</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Những gì bạn luôn luôn muốn biết về %1 và ngại nêu ra thắc mắc</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>Bởi %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation><numerusform>Bạn có %n video mới</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>Video của tôi</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>Các video chưa xem</translation>
     </message>
         <translation>Sắp xếp theo</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>Tất cả các video</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>Các video chưa xem</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>Hiện không có phần theo dõi đăng ký nào được cập nhật vào thời điểm này.</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>Bạn không có phần đăng ký theo dõi nào. Sử dụng biểu tượng ngôi sao để đăng ký theo dõi một kênh nào đó.</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>Dọn dẹp phần nội dung</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>Đây là phiên bản dùng thử của %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Phần này có thể được tải về các video ngắn hơn %1 phút để bạn có thể thử nghiệm tính năng tải về.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>Tiếp tục</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>Nhận phiên bản đầy đủ</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 đã tải xuống trong %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>Tải xuống hoàn tất</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n Tải Về</numerusform></translation>
+        <translation type="unfinished"><numerusform></numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>Thay đổi vị trí...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>Chọn vị trí tải về</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>Vị trí tải về đã thay đổi.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Phần tải về hiện tại sẽ vẫn được lưu vào vị trí trước đó.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>Đang tải về: %1</translation>
     </message>
         <translation>Đang tải về phần cập nhật...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>Đăng ký theo dõi kênh</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>Tạo sự thoải mái cho chính bạn</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>Lỗi</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>&amp;Dừng lại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Dừng phát lại và đi đến phần hiển thị tìm kiếm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>B&amp;ỏ qua</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>Bỏ qua và truy cập video tiếp theo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>&amp;Tạm dừng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>Tạm dừng phát lại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Toàn màn hình</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>Chuyển sang toàn màn hình</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ân danh sách phát và thanh công cụ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Truy cập trang video của YouTube và dừng chế độ phát lại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Sao chép đường dẫn đến video hiện tại trên YouTube vào bộ nhớ ảo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Sao chép đường dẫn luồng video hiện tại vào bộ nhớ ảo</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Tìm các phần video khác theo đúng trật tự</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>&amp;Loại bỏ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Loại bỏ các video được chọn khỏi danh sách phát</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>Chuyển &amp;lên</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Di chuyển các video được chọn trong danh sách phát lên trên</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>Chuyển &amp;xuống</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Di chuyển các video được chọn trong danh sách phát xuống dưới</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Xóa phần lịch sử tìm kiếm. Phần này không thể hoàn tác.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>&amp;Thoát</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>Tạm biệt bạn nhé</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1 trên Web</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>Xin vui lòng hỗ trợ việc phát triển của %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>&amp;Dịch bởi Phan Anh</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>Xem thông tin về %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>Tìm kiếm</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>Tắt tiếng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Tải về</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>Hiển thị thông tin chi tiết về video được tải về</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>&amp;Tải về</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>Tải về video hiện tại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>&amp; Đăng ký theo dõi kênh</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>Chia sẻ video hiện tại bằng cách sử dụng %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>&amp;Email:</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>&amp;Đóng lại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Nổi lên trên cùng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Dừng phát sau video này</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Báo cáo một vấn đề...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Lọc tìm kiếm...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>Nhiều hơn...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>&amp;Video có liên quan</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>Xem video liên quan đến video này</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>Mở trong &amp;trình duyệt...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>&amp;Ứng dụng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>Mua %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>&amp;Chế độ phát lại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Danh sách phát</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>&amp;Chế độ hiển thị</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>&amp;Chia sẻ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>&amp;Giúp đỡ</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Click vào %1 để tăng âm lượng, %2 để giảm âm lượng xuống</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>Đang mở %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Bạn có muốn thoát khỏi %1 trong khi vẫn còn một phần tải về còn đang dang dở hay không?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Nếu bạn đóng lại %1 ngay lúc này, thì các phần tải về còn đang dang dở sẽ bị xóa mất.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>Đóng lại và huỷ bỏ việc tải về</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>Chờ cho đến khi phần tải về được hoàn tất</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Thoát khỏi &amp;chế độ toàn màn hình</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 phiên bản %2 hiện vừa mới được phát hành.</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>Thông báo cho tôi sau</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>Cập nhật</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>Lỗi: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>&amp;Trước đó</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>Quay lại track trước đó</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Chế độ thu gọn</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Mở &amp;trang YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Sao chép liên kết &amp;trên YouTube</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Sao chép luồng dữ liệu &amp;video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>Tìm các phần &amp;thuộc video</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Xóa các phần tìm kiếm gần đây</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>Ủng &amp;hộ tài chính</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Phát theo lệnh của người dùng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>Phát theo lệnh của người dùng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>Chọn vị trí nội dung của bạn</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>&amp;Phát</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>Khôi phục chế độ phát lại</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>Thời gian còn lại: %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>Âm lượng ở mức %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>Đã tắt âm lượng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>Đã mở lại âm lượng</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>Độ phân giải video được chỉnh thành %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>Chế độ riêng tư của bạn hiện đã an toàn</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>Tiến Trình Tải Về Đã Hoàn Tất</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Bạn có thể dán vào đường liên kết trên YouTube vào một ứng dụng khác</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Bạn có thể dán một đường liên kết của luồng video vào một ứng dụng khác</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Liên kết này chỉ hợp lệ trong một khoảng thời gian hạn định.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>Đây chỉ là phần dùng thử của phiên bản %1.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Cho phép bạn thử nghiệm ứng dụng và xét độ hiệu quả của ứng dụng đối với bạn.</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>Tiếp tục</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>của</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>phần</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>tập</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>Được gửi từ %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>Bỏ theo dõi đăng ký từ %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>Đăng ký theo dõi đối với %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>Nhận phiên bản đầy đủ</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>Đang tải về %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 lượt xem</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 của %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>Đang chuẩn bị</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>Bị lỗi</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>Đã hoàn tất</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>Đã dừng lại</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>Dừng tiến trình tải xuống</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>Hiển thị trong %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>Mở thư mục gốc</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>Bắt đầu lại phần tải về</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>Đang tìm kiếm...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>Hiển thị %1 thêm</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>Không có video nào</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>Không có thêm video nào nữa</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>Sắp xếp theo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>Mức độ liên quan</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>Ngày tháng</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>Đếm lượt xem</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>Xếp hạng</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>Bất cứ lúc nào</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>Hôm nay</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 Ngày</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 Ngày</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>Độ dài</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>Tất cả</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>Ngắn</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>Trung bình</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>Dài</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>Ít hơn 4 phút</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Giữa 4 và 20 phút</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>Dài hơn 20 phút</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>Chất lượng</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>Độ phân giải cao</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p hoặc cao hơn</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>Đã hoàn tất</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>Tìm kiếm</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Chào mừng đến với &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>Nhận phiên bản đầy đủ</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Nhập vào</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>một từ khóa</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>một kênh</translation>
     </message>
         <translation>để bắt đầu xem các đoạn video.</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>Xem</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>Các từ khóa gần đây</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>Các kênh gần đây</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>&amp;Quay lại</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>Chuyển tới %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>Quay lại %1</translation>
     </message>
         <translation>&amp;Lọc tìm kiếm</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>Ý của bạn là: %1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>Thay đổi vị trí...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>Phổ biến nhất</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>Không thể tiếp nhận luồng video từ %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>Lỗi mạng: %1 cho %2</translation>
     </message>
index 523ff726e6822034c6ac50213c87da5477f4b25b..e19a3b0ad7ee37c21fca14d7911175cfe40aa57c 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_CN" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_CN" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>浏览器之外,生活亦精彩!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>版本:%1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>遵循协议:%1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 是自由软件。其开发也同样要耗用宝贵时间的。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>恭迎您慷慨&lt;a href=&apos;%1&apos;&gt;捐赠&lt;/a&gt;,支持我们继续开发 %2 。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>您或许也想尝试我的其他程序:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1,一个 YouTube 音乐播放器</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1,音乐播放器</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>使用 %2 将 %1 翻译为您的母语</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>图标设计:%1。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>本软件遵循&lt;a href=&apos;%1&apos;&gt;GNU通用公共许可证&lt;/a&gt;予以发布。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>关闭(&amp;C)</translation>
     </message>
         <source>About</source>
         <translation>关于</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>您对 %1 的期望都有什么,还请不吝赐教。</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>由 %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
         <translation><numerusform>您有 %n 个新视频</numerusform></translation>
     </message>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>所有视频</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>未观看视频</translation>
     </message>
         <translation>排序</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>所有视频</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>未观看视频</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>标记为已观看</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>取消订阅</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>当前没有订阅更新</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>你没有任何订阅,使用星形符号订阅频道</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>清除</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>刚刚</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n 分钟前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n 小时前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n 天前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n 周前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n 月前</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>这只是 %1 的演示版。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>本版本只能下载 %1 分钟以下的视频,仅用于测试下载功能。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>继续</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 已下载(%2)</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>下载完成</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>下载数:%n</numerusform></translation>
+        <translation><numerusform>%n 个下载项</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>更改存储位置……</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>选择下载存储位置</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>下载存储位置已修改。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>当前下载仍然保持前一个存储位置。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>当前下载存储位置:%1</translation>
     </message>
         <translation>正在下载更新...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>可执行文件已经被篡改,或许是病毒感染了</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 将不会被执行,请尝试重装。</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>退出</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>重新安装</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>频道订阅</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>请您尽情享受吧!</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>错误</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>停止回放并返回搜索视图</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>跳过(&amp;k)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>跳至下一视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>暂停(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>暂停回放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>全屏(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>全屏播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>隐藏播放列表和工具栏</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>打开YouTube视频页面并暂停回放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>复制当前视频的YouTube链接到剪贴板中</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>复制当前视频流的URL到剪贴板中</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>以正确的顺序查找其他视频部分</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>移除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>从播放列表中移除选定的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>上移(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>在播放列表中向上移动选定的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>下移(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>在播放列表中向下移动选定的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>清除搜索历史。注意:清除的历史不可恢复。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>退出(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>再见</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>网站(&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>%1在网站上</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>请您支持 %1 的继续开发</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>关于(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>关于 %1 的信息</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>搜索</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>静音</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>下载(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>显示视频下载详情</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>下载(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>下载当前视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>截屏 (&amp;s)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>订阅频道(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>使用 %1 分享当前视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>电子邮件(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>电子邮件</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>关闭(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>窗口置顶(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>调整窗口大小(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>该视频后停止播放(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>报告问题&amp;R…</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>精确搜索(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>更多...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>相关视频(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>查看与当前视频相关的视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>在浏览器中打开(&amp;B)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>喜欢 %1? 为其评分!</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>应用程序(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>购买 %1...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>播放列表(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>视频(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>查看(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>分享(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>按住 %1 提高音量,%2 降低音量</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>正在打开 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>当前还有尚未完成的下载。您确定要退出 %1 吗?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>如果您现在关闭 %1 ,那么本下载将被取消。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>关闭并取消下载</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>等待下载完成</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>加载中...(&amp;L)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>离开全屏模式(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 版本 %2 现在可用。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>稍后提醒我</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>更新</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>错误:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>上一首(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>饭回到上一首音轨</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>紧凑模式(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>打开 YouTube 页面(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>复制 YouTube 链接(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>复制视频流 URL</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>查找视频部分(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>清除最近的搜索(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>捐助(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>手动开始播放(&amp;M)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>手动开始播放视频</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>选择您的内容位置</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>恢复播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>剩余时间:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>音量:%1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>已设为静音</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>静音已解除</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>最大视频定义设置为%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>您的隐私已受保护</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>下载完成</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>您现在可以把YouTube的链接粘贴到其他应用了</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>您现在可以把视频流的链接粘贴到其他应用了</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>此链接仅能保持短时间的有效性。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>这仅是 %1 的演示版。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>本版本允许您测试,以确认本应用是否适合您。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>继续</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>之</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>部分</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>集</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>由 %1 发送</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>取消订阅 %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>订阅 %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>从 %1 退订</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>订阅 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>正在下载 %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>%1 人次观看</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 之 %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>准备中</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>已失败</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>已完成</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>已停止</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>停止下载</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>显示到 %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>打开上层目录</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>重新下载</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>搜索中……</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>再多显示 %1</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>没有视频</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>没有更多视频</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>排序</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>相关性</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>日期</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>查看计数</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>评分</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>任何时候</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>今天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7 天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30 天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>持续时长</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>全部</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>短</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>中等</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>长</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>少于 4 分钟</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 到 20 分钟之间</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>长于 20 分钟</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>质量</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>高分辨率</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p 或更高</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>完成</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>搜索</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>欢迎使用&lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;!</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>输入</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>关键字</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>频道名称</translation>
     </message>
         <translation>开始观看视频。</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>观看</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>最近关键字词</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>最近频道</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>后退(_B)</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>前进至 %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>返回到 %1</translation>
     </message>
         <translation>二次检索</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>您的意思是:%1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>更改存储位置……</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>截图已保存到 %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>截图位置已改变。</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>最流行</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>无法获得视频流。可能原因:%1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>网络错误:%1。可能原因:%2</translation>
     </message>
index 989cb42700e0f79381720cd2a642b7692837b016..f2c7616fb49222f397e9f391e70118cb2ae8f5bf 100644 (file)
@@ -1,64 +1,63 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_TW" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_TW" version="2.1">
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/aboutview.cpp" line="52"/>
+        <location filename="src/aboutview.cpp" line="58"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>在瀏覽器之外的生活!</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="53"/>
+        <location filename="src/aboutview.cpp" line="59"/>
         <source>Version %1</source>
         <translation>版本 %1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="58"/>
+        <location filename="src/aboutview.cpp" line="64"/>
         <source>Licensed to: %1</source>
         <translation>授權使用:%1</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="62"/>
+        <location filename="src/aboutview.cpp" line="68"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 是免費軟體,但其發展需要寶貴的時間。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="63"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>請 &lt;a href=&apos;%1&apos;&gt;贊助&lt;/a&gt; 以支持持續發展 %2。</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="67"/>
+        <location filename="src/aboutview.cpp" line="73"/>
         <source>You may want to try my other apps as well:</source>
         <translation>您可能也想嘗試我的其他應用程式:</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="70"/>
+        <location filename="src/aboutview.cpp" line="76"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, 一個 YouTube 的音樂播放器</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="74"/>
+        <location filename="src/aboutview.cpp" line="80"/>
         <source>%1, a music player</source>
         <translation>%1, 一個音樂播放器</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="80"/>
+        <location filename="src/aboutview.cpp" line="86"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>使用 %2 翻譯 %1 介面成為您的本國語言</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="85"/>
+        <location filename="src/aboutview.cpp" line="91"/>
         <source>Icon designed by %1.</source>
         <translation>圖示由 %1 所設計。 </translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="89"/>
+        <location filename="src/aboutview.cpp" line="95"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>發布在 &lt;a href=&apos;%1&apos;&gt;GNU 通用公共授權條款&lt;/a&gt;之下</translation>
     </message>
     <message>
-        <location filename="src/aboutview.cpp" line="104"/>
+        <location filename="src/aboutview.cpp" line="110"/>
         <source>&amp;Close</source>
         <translation>關閉(&amp;C)</translation>
     </message>
         <source>About</source>
         <translation>關於</translation>
     </message>
-    <message>
-        <location filename="src/aboutview.h" line="42"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>您最想知道的 %1 和從來不敢問的</translation>
-    </message>
 </context>
 <context>
     <name>ActivationDialog</name>
 <context>
     <name>ChannelAggregator</name>
     <message>
-        <location filename="src/channelaggregator.cpp" line="131"/>
+        <location filename="src/channelaggregator.cpp" line="183"/>
         <source>By %1</source>
         <translation>依 %1</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/channelaggregator.cpp" line="133"/>
+        <location filename="src/channelaggregator.cpp" line="185"/>
         <source>You have %n new video(s)</source>
-        <translation><numerusform>您有 %n 個新影片</numerusform></translation>
+        <translation><numerusform>您有 %n 個新影片</numerusform></translation>
     </message>
 </context>
 <context>
     <name>ChannelItemDelegate</name>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="66"/>
+        <location filename="src/channelitemdelegate.cpp" line="67"/>
         <source>All Videos</source>
         <translation>全部影片</translation>
     </message>
     <message>
-        <location filename="src/channelitemdelegate.cpp" line="83"/>
+        <location filename="src/channelitemdelegate.cpp" line="85"/>
         <source>Unwatched Videos</source>
         <translation>尚未觀看的影片</translation>
     </message>
         <translation>排序根據</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="221"/>
+        <location filename="src/channelview.cpp" line="222"/>
         <source>All Videos</source>
         <translation>全部影片</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="225"/>
+        <location filename="src/channelview.cpp" line="226"/>
         <source>Unwatched Videos</source>
         <translation>尚未觀看的影片</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="243"/>
+        <location filename="src/channelview.cpp" line="244"/>
         <source>Mark as Watched</source>
         <translation>標記為已觀看</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="256"/>
+        <location filename="src/channelview.cpp" line="257"/>
         <source>Unsubscribe</source>
         <translation>取消訂閱</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="269"/>
+        <location filename="src/channelview.cpp" line="270"/>
         <source>There are no updated subscriptions at this time.</source>
         <translation>目前沒有更新的訂閱。</translation>
     </message>
     <message>
-        <location filename="src/channelview.cpp" line="271"/>
+        <location filename="src/channelview.cpp" line="272"/>
         <source>You have no subscriptions. Use the star symbol to subscribe to channels.</source>
         <translation>您暫時沒有任何訂閱。使用星星符號訂閱頻道。</translation>
     </message>
 <context>
     <name>ClearButton</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
+        <location filename="src/exlineedit.cpp" line="6"/>
         <source>Clear</source>
         <translation>清除</translation>
     </message>
 </context>
+<context>
+    <name>DataUtils</name>
+    <message>
+        <location filename="src/datautils.cpp" line="88"/>
+        <source>Just now</source>
+        <translation>就是現在</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="90"/>
+        <source>%n minute(s) ago</source>
+        <translation><numerusform>%n 分鐘前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="92"/>
+        <source>%n hour(s) ago</source>
+        <translation><numerusform>%n 小時前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="94"/>
+        <source>%n day(s) ago</source>
+        <translation><numerusform>%n 天前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="96"/>
+        <source>%n weeks(s) ago</source>
+        <translation><numerusform>%n 週前</numerusform></translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/datautils.cpp" line="98"/>
+        <source>%n month(s) ago</source>
+        <translation><numerusform>%n 個月前</numerusform></translation>
+    </message>
+</context>
 <context>
     <name>DownloadItem</name>
     <message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="76"/>
+        <location filename="src/downloadmanager.cpp" line="77"/>
         <source>This is just the demo version of %1.</source>
         <translation>這僅僅是展示版的  %1。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="78"/>
+        <location filename="src/downloadmanager.cpp" line="79"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>它只能下載影片少於 %1 分鐘,使您可以測試下載功能。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="84"/>
+        <location filename="src/downloadmanager.cpp" line="85"/>
         <source>Continue</source>
         <translation>繼續</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="85"/>
+        <location filename="src/downloadmanager.cpp" line="86"/>
         <source>Get the full version</source>
         <translation>取得完整版</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="156"/>
+        <location filename="src/downloadmanager.cpp" line="157"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 下載在 %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="159"/>
+        <location filename="src/downloadmanager.cpp" line="160"/>
         <source>Download finished</source>
         <translation>下載完成</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="164"/>
+        <location filename="src/downloadmanager.cpp" line="165"/>
         <source>%n Download(s)</source>
-        <translation><numerusform>%n 下載</numerusform></translation>
+        <translation><numerusform>%n 下載</numerusform></translation>
     </message>
 </context>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="35"/>
+        <location filename="src/downloadsettings.cpp" line="36"/>
         <source>Change location...</source>
         <translation>變更位置...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="78"/>
+        <location filename="src/downloadsettings.cpp" line="69"/>
         <source>Choose the download location</source>
         <translation>選擇下載位置</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="90"/>
+        <location filename="src/downloadsettings.cpp" line="81"/>
         <source>Download location changed.</source>
         <translation>下載位置已變更。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="92"/>
+        <location filename="src/downloadsettings.cpp" line="83"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>目前的下載仍然會進入先前的位置。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="107"/>
+        <location filename="src/downloadsettings.cpp" line="94"/>
         <source>Downloading to: %1</source>
         <translation>下載至:%1</translation>
     </message>
         <translation>下載更新中...</translation>
     </message>
 </context>
+<context>
+    <name>Extra</name>
+    <message>
+        <location filename="local/src/extra.cpp" line="251"/>
+        <source>The executable file has been tempered with, maybe by a virus.</source>
+        <translation>可執行檔可能已被病毒竄改。</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="252"/>
+        <source>%1 will not run. Try installing again.</source>
+        <translation>%1 將不會執行。嘗試再次安裝。</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="253"/>
+        <source>Quit</source>
+        <translation>離開</translation>
+    </message>
+    <message>
+        <location filename="local/src/extra.cpp" line="254"/>
+        <source>Reinstall</source>
+        <translation>重新安裝</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
         <translation>頻道訂閱</translation>
     </message>
     <message>
-        <location filename="src/homeview.h" line="45"/>
+        <location filename="src/homeview.h" line="44"/>
         <source>Make yourself comfortable</source>
         <translation>您可以盡情享受</translation>
     </message>
 <context>
     <name>LoadingWidget</name>
     <message>
-        <location filename="src/loadingwidget.cpp" line="114"/>
+        <location filename="src/loadingwidget.cpp" line="125"/>
         <source>Error</source>
         <translation>錯誤</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/mainwindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="291"/>
         <source>&amp;Stop</source>
         <translation>停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="292"/>
         <source>Stop playback and go back to the search view</source>
         <translation>停止播放並回到搜尋檢視中</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="283"/>
+        <location filename="src/mainwindow.cpp" line="307"/>
         <source>S&amp;kip</source>
         <translation>下一個(&amp;K)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="284"/>
+        <location filename="src/mainwindow.cpp" line="308"/>
         <source>Skip to the next video</source>
         <translation>跳至下一個影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="290"/>
-        <location filename="src/mainwindow.cpp" line="1060"/>
+        <location filename="src/mainwindow.cpp" line="1134"/>
         <source>&amp;Pause</source>
         <translation>暫停(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="291"/>
-        <location filename="src/mainwindow.cpp" line="1061"/>
+        <location filename="src/mainwindow.cpp" line="1135"/>
         <source>Pause playback</source>
         <translation>暫停播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="297"/>
+        <location filename="src/mainwindow.cpp" line="321"/>
         <source>&amp;Full Screen</source>
         <translation>全螢幕(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="322"/>
         <source>Go full screen</source>
         <translation>切換至全螢幕</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="312"/>
+        <location filename="src/mainwindow.cpp" line="336"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>隱藏播放清單和工具列</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="325"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>前往 YouTube 影片頁面並且暫停播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="332"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>複製目前 YouTube 影片的連結到剪貼簿</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="339"/>
+        <location filename="src/mainwindow.cpp" line="363"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>複製目前影片串流網址到剪貼簿</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="346"/>
+        <location filename="src/mainwindow.cpp" line="370"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>希望能以正確的順序找到其他影片部分</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="352"/>
+        <location filename="src/mainwindow.cpp" line="376"/>
         <source>&amp;Remove</source>
         <translation>移除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="353"/>
+        <location filename="src/mainwindow.cpp" line="377"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>從播放清單中移除所選的影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="359"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Move &amp;Up</source>
         <translation>向上移動(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="360"/>
+        <location filename="src/mainwindow.cpp" line="384"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>向上移動在播放清單中所選的影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="366"/>
+        <location filename="src/mainwindow.cpp" line="390"/>
         <source>Move &amp;Down</source>
         <translation>向下移動(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="367"/>
+        <location filename="src/mainwindow.cpp" line="391"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>向下移動在播放清單中所選的影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="402"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>清除搜尋歷史記錄。不能撤消。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="383"/>
+        <location filename="src/mainwindow.cpp" line="407"/>
         <source>&amp;Quit</source>
         <translation>結束(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="386"/>
+        <location filename="src/mainwindow.cpp" line="410"/>
         <source>Bye</source>
         <translation>再見</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="390"/>
+        <location filename="src/mainwindow.cpp" line="414"/>
         <source>&amp;Website</source>
         <translation>網站(&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="392"/>
+        <location filename="src/mainwindow.cpp" line="416"/>
         <source>%1 on the Web</source>
         <translation>在網絡上的 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Please support the continued development of %1</source>
         <translation>請支持持續發展 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="403"/>
+        <location filename="src/mainwindow.cpp" line="427"/>
         <source>&amp;About</source>
         <translation>關於(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="405"/>
+        <location filename="src/mainwindow.cpp" line="429"/>
         <source>Info about %1</source>
         <translation>有關 %1 訊息</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="413"/>
+        <location filename="src/mainwindow.cpp" line="437"/>
         <source>Search</source>
         <translation>搜尋</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="432"/>
+        <location filename="src/mainwindow.cpp" line="456"/>
         <source>Mute volume</source>
         <translation>靜音</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="466"/>
-        <location filename="src/mainwindow.cpp" line="1490"/>
+        <location filename="src/mainwindow.cpp" line="490"/>
+        <location filename="src/mainwindow.cpp" line="1609"/>
         <source>&amp;Downloads</source>
         <translation>下載(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="467"/>
+        <location filename="src/mainwindow.cpp" line="491"/>
         <source>Show details about video downloads</source>
         <translation>顯示影片下載細節</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="475"/>
+        <location filename="src/mainwindow.cpp" line="499"/>
         <source>&amp;Download</source>
         <translation>下載(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="476"/>
+        <location filename="src/mainwindow.cpp" line="500"/>
         <source>Download the current video</source>
         <translation>下載目前的影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="486"/>
+        <location filename="src/mainwindow.cpp" line="510"/>
         <source>Take &amp;Snapshot</source>
         <translation>拍攝快照(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="493"/>
+        <location filename="src/mainwindow.cpp" line="517"/>
         <source>&amp;Subscribe to Channel</source>
         <translation>訂閱頻道(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="501"/>
+        <location filename="src/mainwindow.cpp" line="525"/>
         <source>Share the current video using %1</source>
         <translation>分享目前的影片使用 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="521"/>
+        <location filename="src/mainwindow.cpp" line="545"/>
         <source>&amp;Email</source>
         <translation>電子郵件(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="522"/>
+        <location filename="src/mainwindow.cpp" line="546"/>
         <source>Email</source>
         <translation>電子郵件</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="527"/>
+        <location filename="src/mainwindow.cpp" line="551"/>
         <source>&amp;Close</source>
         <translation>關閉(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="537"/>
+        <location filename="src/mainwindow.cpp" line="561"/>
         <source>&amp;Float on Top</source>
         <translation>浮在上面(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="542"/>
+        <location filename="src/mainwindow.cpp" line="566"/>
+        <source>&amp;Adjust Window Size</source>
+        <translation>調整視窗大小 (&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="571"/>
         <source>&amp;Stop After This Video</source>
         <translation>在這個影片播完之後停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="549"/>
+        <location filename="src/mainwindow.cpp" line="578"/>
         <source>&amp;Report an Issue...</source>
         <translation>回報問題(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="553"/>
+        <location filename="src/mainwindow.cpp" line="582"/>
         <source>&amp;Refine Search...</source>
         <translation>精確搜尋(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="565"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>More...</source>
         <translation>更多...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="568"/>
+        <location filename="src/mainwindow.cpp" line="597"/>
         <source>&amp;Related Videos</source>
         <translation>相關影片(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="570"/>
+        <location filename="src/mainwindow.cpp" line="599"/>
         <source>Watch videos related to the current one</source>
         <translation>觀看和目前相關的影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="576"/>
+        <location filename="src/mainwindow.cpp" line="605"/>
         <source>Open in &amp;Browser...</source>
         <translation>在瀏覽器中開啟(&amp;B)...</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="583"/>
+        <location filename="src/mainwindow.cpp" line="612"/>
         <source>&amp;Love %1? Rate it!</source>
         <translation>喜歡 %1 ?為它評分!(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="605"/>
+        <location filename="src/mainwindow.cpp" line="633"/>
         <source>&amp;Application</source>
         <translation>應用(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="589"/>
+        <location filename="src/mainwindow.cpp" line="618"/>
         <source>Buy %1...</source>
         <translation>購買 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="619"/>
+        <location filename="src/mainwindow.cpp" line="647"/>
         <source>&amp;Playback</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="633"/>
+        <location filename="src/mainwindow.cpp" line="661"/>
         <source>&amp;Playlist</source>
         <translation>播放清單(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="642"/>
+        <location filename="src/mainwindow.cpp" line="670"/>
         <source>&amp;Video</source>
         <translation>影片(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="658"/>
+        <location filename="src/mainwindow.cpp" line="686"/>
         <source>&amp;View</source>
         <translation>檢視(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="665"/>
+        <location filename="src/mainwindow.cpp" line="695"/>
         <source>&amp;Share</source>
         <translation>分享(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="679"/>
+        <location filename="src/mainwindow.cpp" line="709"/>
         <source>&amp;Help</source>
         <translation>幫助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="760"/>
+        <location filename="src/mainwindow.cpp" line="751"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>按 %1 提高音量,%2 降低音量</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="955"/>
-        <location filename="src/mainwindow.cpp" line="961"/>
+        <location filename="src/mainwindow.cpp" line="1021"/>
+        <location filename="src/mainwindow.cpp" line="1027"/>
         <source>Opening %1</source>
         <translation>開啟 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1006"/>
+        <location filename="src/mainwindow.cpp" line="1080"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>您想要下載正在進行中結束 %1?</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1007"/>
+        <location filename="src/mainwindow.cpp" line="1081"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>如果現在關閉 %1,下載將被取消。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1012"/>
+        <location filename="src/mainwindow.cpp" line="1086"/>
         <source>Close and cancel download</source>
         <translation>關閉並取消下載</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1013"/>
+        <location filename="src/mainwindow.cpp" line="1087"/>
         <source>Wait for download to finish</source>
         <translation>等待下載完成</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1174"/>
+        <location filename="src/mainwindow.cpp" line="1158"/>
+        <source>&amp;Loading...</source>
+        <translation>正在載入... (&amp;L)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1264"/>
         <source>Leave &amp;Full Screen</source>
         <translation>離開全螢幕(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1601"/>
+        <location filename="src/mainwindow.cpp" line="1718"/>
         <source>%1 version %2 is now available.</source>
         <translation>現在有 %1 版本 %2 可用。</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1605"/>
+        <location filename="src/mainwindow.cpp" line="1722"/>
         <source>Remind me later</source>
         <translation>稍候提醒我</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1606"/>
+        <location filename="src/mainwindow.cpp" line="1723"/>
         <source>Update</source>
         <translation>更新</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1053"/>
+        <location filename="src/mainwindow.cpp" line="1127"/>
         <source>Error: %1</source>
         <translation>錯誤:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="276"/>
+        <location filename="src/mainwindow.cpp" line="300"/>
         <source>P&amp;revious</source>
         <translation>上一個(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="277"/>
+        <location filename="src/mainwindow.cpp" line="301"/>
         <source>Go back to the previous track</source>
         <translation>回到上一個影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="335"/>
         <source>&amp;Compact Mode</source>
         <translation>精簡模式(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="324"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>開啟 &amp;YouTube 頁面</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="331"/>
+        <location filename="src/mainwindow.cpp" line="355"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>複製 YouTube 的連結(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="338"/>
+        <location filename="src/mainwindow.cpp" line="362"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>複製影片串流網址(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="345"/>
+        <location filename="src/mainwindow.cpp" line="369"/>
         <source>Find Video &amp;Parts</source>
         <translation>找到其他影片部分(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="373"/>
+        <location filename="src/mainwindow.cpp" line="397"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>清除最近的搜尋(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="397"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>Make a &amp;Donation</source>
         <translation>贊助(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="459"/>
+        <location filename="src/mainwindow.cpp" line="483"/>
         <source>&amp;Manually Start Playing</source>
         <translation>手動啟動播放(&amp;M)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="460"/>
+        <location filename="src/mainwindow.cpp" line="484"/>
         <source>Manually start playing videos</source>
         <translation>手動啟動播放影片</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="797"/>
+        <location filename="src/mainwindow.cpp" line="847"/>
         <source>Choose your content location</source>
         <translation>選擇您的內容定位</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1073"/>
+        <location filename="src/mainwindow.cpp" line="314"/>
+        <location filename="src/mainwindow.cpp" line="1142"/>
+        <location filename="src/mainwindow.cpp" line="1150"/>
         <source>&amp;Play</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1074"/>
+        <location filename="src/mainwindow.cpp" line="315"/>
+        <location filename="src/mainwindow.cpp" line="1143"/>
+        <location filename="src/mainwindow.cpp" line="1151"/>
         <source>Resume playback</source>
         <translation>恢復播放</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1333"/>
+        <location filename="src/mainwindow.cpp" line="1437"/>
         <source>Remaining time: %1</source>
         <translation>剩餘時間:%1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1419"/>
+        <location filename="src/mainwindow.cpp" line="1528"/>
         <source>Volume at %1%</source>
         <translation>音量達到 %1%</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1425"/>
+        <location filename="src/mainwindow.cpp" line="1534"/>
         <source>Volume is muted</source>
         <translation>音量處於靜音狀態</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1428"/>
+        <location filename="src/mainwindow.cpp" line="1537"/>
         <source>Volume is unmuted</source>
         <translation>音量處於非靜音狀態</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1435"/>
+        <location filename="src/mainwindow.cpp" line="1548"/>
         <source>Maximum video definition set to %1</source>
         <translation>影片最大解析度設定為 %1</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1476"/>
+        <location filename="src/mainwindow.cpp" line="1595"/>
         <source>Your privacy is now safe</source>
         <translation>您的隱私現在是安全的</translation>
     </message>
     <message>
-        <location filename="src/mainwindow.cpp" line="1491"/>
+        <location filename="src/mainwindow.cpp" line="1610"/>
         <source>Downloads complete</source>
         <translation>下載完成</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/mediaview.cpp" line="682"/>
+        <location filename="src/mediaview.cpp" line="702"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>您現在可以貼上 YouTube 的連結到另一個應用程式中</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="690"/>
+        <location filename="src/mediaview.cpp" line="710"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>現在,您可以貼上影片串流網址到其他應用中</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="691"/>
+        <location filename="src/mediaview.cpp" line="711"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>這個連結將只在有限的時間內有效。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="780"/>
+        <location filename="src/mediaview.cpp" line="800"/>
         <source>This is just the demo version of %1.</source>
         <translation>這僅僅是展示版的  %1。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="781"/>
+        <location filename="src/mediaview.cpp" line="801"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>它可以讓您測試應用程式,看它是否適合您。</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="813"/>
+        <location filename="src/mediaview.cpp" line="833"/>
         <source>Continue</source>
         <translation>繼續</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="946"/>
+        <location filename="src/mediaview.cpp" line="988"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="959"/>
+        <location filename="src/mediaview.cpp" line="1001"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>部分</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="961"/>
+        <location filename="src/mediaview.cpp" line="1003"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>集</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1074"/>
+        <location filename="src/mediaview.cpp" line="1096"/>
         <source>Sent from %1</source>
         <translation>從 %1 發送</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1109"/>
+        <location filename="src/mediaview.cpp" line="1128"/>
         <source>Unsubscribe from %1</source>
         <translation>取消訂閱 %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="1113"/>
+        <location filename="src/mediaview.cpp" line="1132"/>
         <source>Subscribe to %1</source>
         <translation>訂閱 %1</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="788"/>
+        <location filename="src/mediaview.cpp" line="1166"/>
+        <source>Unsubscribed from %1</source>
+        <translation>從 %1 取消訂閱</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="1169"/>
+        <source>Subscribed to %1</source>
+        <translation>已訂閱 %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="808"/>
         <source>Get the full version</source>
         <translation>取得完整版</translation>
     </message>
     <message>
-        <location filename="src/mediaview.cpp" line="827"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Downloading %1</source>
         <translation>正在下載 %1</translation>
     </message>
 <context>
     <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="208"/>
+        <location filename="src/playlistitemdelegate.cpp" line="209"/>
         <source>%1 views</source>
         <translation>瀏覽次數:%1 次</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="332"/>
+        <location filename="src/playlistitemdelegate.cpp" line="309"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="339"/>
+        <location filename="src/playlistitemdelegate.cpp" line="316"/>
         <source>Preparing</source>
         <translation>準備</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="341"/>
+        <location filename="src/playlistitemdelegate.cpp" line="318"/>
         <source>Failed</source>
         <translation>失敗</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="343"/>
+        <location filename="src/playlistitemdelegate.cpp" line="320"/>
         <source>Completed</source>
         <translation>已完成</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="345"/>
+        <location filename="src/playlistitemdelegate.cpp" line="322"/>
         <source>Stopped</source>
         <translation>停止</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="381"/>
+        <location filename="src/playlistitemdelegate.cpp" line="358"/>
         <source>Stop downloading</source>
         <translation>停止下載</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="391"/>
+        <location filename="src/playlistitemdelegate.cpp" line="368"/>
         <source>Show in %1</source>
         <translation>顯示在 %1</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="393"/>
+        <location filename="src/playlistitemdelegate.cpp" line="370"/>
         <source>Open parent folder</source>
         <translation>開啟檔案所在資料夾</translation>
     </message>
     <message>
-        <location filename="src/playlistitemdelegate.cpp" line="402"/>
+        <location filename="src/playlistitemdelegate.cpp" line="379"/>
         <source>Restart downloading</source>
         <translation>重新啟動下載</translation>
     </message>
 <context>
     <name>PlaylistModel</name>
     <message>
-        <location filename="src/playlistmodel.cpp" line="72"/>
+        <location filename="src/playlistmodel.cpp" line="70"/>
         <source>Searching...</source>
         <translation>搜尋中...</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="73"/>
+        <location filename="src/playlistmodel.cpp" line="71"/>
         <source>Show %1 More</source>
         <translation>顯示再多 %1個影片</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="74"/>
+        <location filename="src/playlistmodel.cpp" line="72"/>
         <source>No videos</source>
         <translation>沒有影片</translation>
     </message>
     <message>
-        <location filename="src/playlistmodel.cpp" line="75"/>
+        <location filename="src/playlistmodel.cpp" line="73"/>
         <source>No more videos</source>
         <translation>沒有更多的影片</translation>
     </message>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="51"/>
+        <location filename="src/refinesearchwidget.cpp" line="49"/>
         <source>Sort by</source>
         <translation>排序根據</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="53"/>
         <source>Relevance</source>
         <translation>相關性</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="56"/>
-        <location filename="src/refinesearchwidget.cpp" line="72"/>
+        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="69"/>
         <source>Date</source>
         <translation>日期</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <location filename="src/refinesearchwidget.cpp" line="55"/>
         <source>View Count</source>
         <translation>觀看次數</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Rating</source>
         <translation>評價</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Anytime</source>
         <translation>任何時間</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="74"/>
         <source>Today</source>
         <translation>今天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <location filename="src/refinesearchwidget.cpp" line="75"/>
         <source>7 Days</source>
         <translation>7天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="76"/>
         <source>30 Days</source>
         <translation>30天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="89"/>
         <source>Duration</source>
         <translation>長短</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="97"/>
-        <location filename="src/refinesearchwidget.cpp" line="124"/>
+        <location filename="src/refinesearchwidget.cpp" line="93"/>
+        <location filename="src/refinesearchwidget.cpp" line="119"/>
         <source>All</source>
         <translation>所有</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="98"/>
+        <location filename="src/refinesearchwidget.cpp" line="94"/>
         <source>Short</source>
         <translation>短</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="99"/>
+        <location filename="src/refinesearchwidget.cpp" line="95"/>
         <source>Medium</source>
         <translation>中</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="96"/>
         <source>Long</source>
         <translation>長</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="103"/>
+        <location filename="src/refinesearchwidget.cpp" line="99"/>
         <source>Less than 4 minutes</source>
         <translation>不到4分鐘</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Between 4 and 20 minutes</source>
         <translation>介於4和20分鐘</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <location filename="src/refinesearchwidget.cpp" line="101"/>
         <source>Longer than 20 minutes</source>
         <translation>超過20分鐘</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="120"/>
+        <location filename="src/refinesearchwidget.cpp" line="115"/>
         <source>Quality</source>
         <translation>品質</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="125"/>
+        <location filename="src/refinesearchwidget.cpp" line="120"/>
         <source>High Definition</source>
         <translation>高畫質</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="128"/>
+        <location filename="src/refinesearchwidget.cpp" line="123"/>
         <source>720p or higher</source>
         <translation>720p或更高</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="142"/>
+        <location filename="src/refinesearchwidget.cpp" line="136"/>
         <source>Done</source>
         <translation>完成</translation>
     </message>
 <context>
     <name>SearchLineEdit</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
+        <location filename="src/searchlineedit.cpp" line="55"/>
         <source>Search</source>
         <translation>搜尋</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/searchview.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="83"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>歡迎使用 &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="195"/>
+        <location filename="src/searchview.cpp" line="200"/>
         <source>Get the full version</source>
         <translation>取得完整版</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="114"/>
+        <location filename="src/searchview.cpp" line="110"/>
         <source>Enter</source>
         <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>輸入</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="119"/>
+        <location filename="src/searchview.cpp" line="117"/>
         <source>a keyword</source>
         <translation>一個關鍵字</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="120"/>
+        <location filename="src/searchview.cpp" line="118"/>
         <source>a channel</source>
         <translation>一個頻道</translation>
     </message>
         <translation>以開始觀看影片。</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="149"/>
+        <location filename="src/searchview.cpp" line="156"/>
         <source>Watch</source>
         <translation>觀看</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="167"/>
+        <location filename="src/searchview.cpp" line="174"/>
         <source>Recent keywords</source>
         <translation>最近的關鍵字</translation>
     </message>
     <message>
-        <location filename="src/searchview.cpp" line="180"/>
+        <location filename="src/searchview.cpp" line="186"/>
         <source>Recent channels</source>
         <translation>最近的頻道</translation>
     </message>
 <context>
     <name>SidebarHeader</name>
     <message>
-        <location filename="src/sidebarheader.cpp" line="39"/>
-        <location filename="src/sidebarheader.cpp" line="46"/>
+        <location filename="src/sidebarheader.cpp" line="38"/>
+        <location filename="src/sidebarheader.cpp" line="45"/>
         <source>&amp;Back</source>
         <translation>後退(&amp;B)</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="77"/>
+        <location filename="src/sidebarheader.cpp" line="76"/>
         <source>Forward to %1</source>
         <translation>向前到 %1</translation>
     </message>
     <message>
-        <location filename="src/sidebarheader.cpp" line="90"/>
+        <location filename="src/sidebarheader.cpp" line="89"/>
         <source>Back to %1</source>
         <translation>退後到 %1</translation>
     </message>
         <translation>精確搜尋</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="163"/>
+        <location filename="src/sidebarwidget.cpp" line="167"/>
         <source>Did you mean: %1</source>
         <translation>您的意思是:%1</translation>
     </message>
 <context>
     <name>SnapshotSettings</name>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="45"/>
+        <location filename="src/snapshotsettings.cpp" line="47"/>
         <source>Change location...</source>
         <translation>變更位置...</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="62"/>
+        <location filename="src/snapshotsettings.cpp" line="64"/>
         <source>Snapshot saved to %1</source>
         <translation>快照已儲存到 %1</translation>
     </message>
     <message>
-        <location filename="src/snapshotsettings.cpp" line="127"/>
+        <location filename="src/snapshotsettings.cpp" line="117"/>
         <source>Snapshots location changed.</source>
         <translation>快照位置已改變。</translation>
     </message>
 <context>
     <name>StandardFeedsView</name>
     <message>
-        <location filename="src/standardfeedsview.cpp" line="105"/>
+        <location filename="src/standardfeedsview.cpp" line="107"/>
         <source>Most Popular</source>
         <translation>最熱門</translation>
     </message>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="309"/>
+        <location filename="src/video.cpp" line="287"/>
         <source>Cannot get video stream for %1</source>
         <translation>無法為 %1 獲得影片串流</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="326"/>
+        <location filename="src/video.cpp" line="292"/>
         <source>Network error: %1 for %2</source>
         <translation>網路錯誤:%1 為了 %2</translation>
     </message>
index 2f029bf9c475b3dbeac43c386554d540c1b0d4f9..e218ab84f89a92ebbf622dc014bb4e646f5c3a66 100644 (file)
@@ -1,6 +1,6 @@
 CONFIG += release
 TEMPLATE = app
-VERSION = 2.4
+VERSION = 2.5.1
 DEFINES += APP_VERSION="$$VERSION"
 
 APP_NAME = Minitube
@@ -14,11 +14,14 @@ DEFINES += APP_PHONON_SEEK
 DEFINES += APP_SNAPSHOT
 DEFINES += APP_YT3
 
+message(Building $${APP_NAME} $${VERSION})
+message(Qt $$[QT_VERSION] in $$[QT_INSTALL_PREFIX])
+
 DEFINES *= QT_NO_DEBUG_OUTPUT
 DEFINES *= QT_USE_QSTRINGBUILDER
 DEFINES *= QT_STRICT_ITERATORS
 
-!contains(DEFINES, APP_GOOGLE_API_KEY) {
+!contains(DEFINES, APP_GOOGLE_API_KEY=.+) {
     warning("You need to specify a Google API Key, refer to the README.md file for details")
 }
 
@@ -33,7 +36,6 @@ include(src/qtsingleapplication/qtsingleapplication.pri)
 
 HEADERS += src/video.h \
     src/searchlineedit.h \
-    src/urllineedit.h \
     src/spacer.h \
     src/constants.h \
     src/playlistitemdelegate.h \
@@ -101,10 +103,14 @@ HEADERS += src/video.h \
     src/yt3listparser.h \
     src/ytchannel.h \
     src/yt3.h \
-    src/paginatedvideosource.h
+    src/paginatedvideosource.h \
+    src/compatibility/qurlqueryhelper.h \
+    src/compatibility/pathsservice.h \
+    src/searchwidget.h \
+    src/exlineedit.h \
+    src/channellistview.h
 SOURCES += src/main.cpp \
     src/searchlineedit.cpp \
-    src/urllineedit.cpp \
     src/spacer.cpp \
     src/video.cpp \
     src/videomimedata.cpp \
@@ -170,7 +176,10 @@ SOURCES += src/main.cpp \
     src/yt3listparser.cpp \
     src/ytchannel.cpp \
     src/yt3.cpp \
-    src/paginatedvideosource.cpp
+    src/paginatedvideosource.cpp \
+    src/compatibility/pathsservice.cpp \
+    src/exlineedit.cpp \
+    src/channellistview.cpp
 RESOURCES += resources.qrc
 DESTDIR = build/target/
 OBJECTS_DIR = build/obj/
@@ -185,6 +194,7 @@ include(locale/locale.pri)
 # deploy
 DISTFILES += CHANGES COPYING
 unix:!mac {
+    DEFINES += APP_LINUX
     qt:greaterThan(QT_MAJOR_VERSION, 4) {
         LIBS += -lphonon4qt5
         INCLUDEPATH += /usr/include/phonon4qt5
index 6353887b16854cab2d5a15809de786b08c23670f..d41ca8a47765aceb7f1f0764f7152eb7dd16cc50 100644 (file)
         <file>images/badge3.png</file>
         <file>images/badge4.png</file>
         <file>sounds/snapshot.wav</file>
+        <file>images/app@2x.png</file>
+        <file>images/sort@2x.png</file>
+        <file>images/unwatched@2x.png</file>
+        <file>images/badge@2x.png</file>
+        <file>images/badge3@2x.png</file>
+        <file>images/channels@2x.png</file>
+        <file>images/mark-watched@2x.png</file>
+        <file>images/show-updated@2x.png</file>
+        <file>images/worldwide@2x.png</file>
+        <file>images/badge4@2x.png</file>
+        <file>images/refine-search@2x.png</file>
+        <file>images/search-duration@2x.png</file>
+        <file>images/search-quality@2x.png</file>
+        <file>images/search-time@2x.png</file>
+        <file>images/search-sortBy@2x.png</file>
     </qresource>
 </RCC>
index 3cbea11393e7904c62b6e6d2dac9d0c6ad50872a..19c5ee547ea88b41d94464e35dfc269c79931563 100644 (file)
@@ -30,8 +30,10 @@ $END_LICENSE */
 #include "macutils.h"
 #include "mac_startup.h"
 #endif
+#include "fontutils.h"
+#include "iconutils.h"
 
-AboutView::AboutView(QWidget *parent) : QWidget(parent) {
+AboutView::AboutView(QWidget *parent) : View(parent) {
 
     QBoxLayout *hLayout = new QHBoxLayout(this);
     hLayout->setAlignment(Qt::AlignCenter);
@@ -39,7 +41,7 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) {
     hLayout->setSpacing(30);
 
     QLabel *logo = new QLabel(this);
-    logo->setPixmap(QPixmap(":/images/app.png"));
+    logo->setPixmap(IconUtils::pixmap(":/images/app.png"));
     hLayout->addWidget(logo, 0, Qt::AlignTop);
 
     QBoxLayout *layout = new QVBoxLayout();
@@ -47,8 +49,13 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) {
     layout->setSpacing(30);
     hLayout->addLayout(layout);
 
-    QString info = "<html><style>a { color: palette(text); text-decoration: none; font-weight: bold }</style><body>"
-            "<h1 style='font-weight:normal'>" + QString(Constants::NAME) + "</h1>"
+    QString css = "a { color: palette(text); text-decoration: none; font-weight: bold } h1 { font-weight: 100 }";
+#ifdef APP_MAC
+    css += " h1 { font-family: 'Helvetica Neue' }";
+#endif
+
+    QString info = "<html><style>" + css + "</style><body>"
+            "<h1>" + QString(Constants::NAME) + "</h1>"
             "<p>" + tr("There's life outside the browser!") + "</p>"
             "<p>" + tr("Version %1").arg(Constants::VERSION) + "</p>"
             + QString("<p><a href=\"%1/\">%1</a></p>").arg(Constants::WEBSITE);
@@ -110,25 +117,33 @@ AboutView::AboutView(QWidget *parent) : QWidget(parent) {
     layout->addLayout(buttonLayout);
 }
 
-void AboutView::paintEvent(QPaintEvent * /*event*/) {
+void AboutView::appear() {
+#ifdef APP_MAC
+    mac::uncloseWindow(window()->winId());
+#ifdef APP_ACTIVATION
+    mac::CheckForUpdates();
+#endif
+#endif
+    closeButton->setFocus();
+}
+
+void AboutView::paintEvent(QPaintEvent *event) {
+    QWidget::paintEvent(event);
 #if defined(APP_MAC) | defined(APP_WIN)
     QBrush brush;
     if (window()->isActiveWindow()) {
-        brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
+        brush = Qt::white;
     } else {
         brush = palette().window();
     }
     QPainter painter(this);
     painter.fillRect(0, 0, width(), height(), brush);
+    painter.end();
 #endif
-}
-
-void AboutView::appear() {
-#ifdef APP_MAC
-    mac::uncloseWindow(window()->winId());
-#ifdef APP_ACTIVATION
-    mac::CheckForUpdates();
+#ifdef APP_UBUNTU
+    QStyleOption o;
+    o.initFrom(this);
+    QPainter p(this);
+    style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
 #endif
-#endif
-    closeButton->setFocus();
 }
index 9bd251a1fe94d74bf6246fad314fc1169c581e2e..0e5e66989c7a70141eacc25b2408e277db3a5d36 100644 (file)
@@ -28,7 +28,7 @@ $END_LICENSE */
 #include "view.h"
 #include "constants.h"
 
-class AboutView : public QWidget, public View {
+class AboutView : public View {
 
     Q_OBJECT
 
@@ -38,14 +38,11 @@ public:
     QHash<QString, QVariant> metadata() {
         QHash<QString, QVariant> metadata;
         metadata.insert("title", tr("About"));
-        metadata.insert("description",
-                        tr("What you always wanted to know about %1 and never dared to ask")
-                        .arg(Constants::NAME));
         return metadata;
     }
 
 protected:
-    void paintEvent(QPaintEvent *);
+    void paintEvent(QPaintEvent *e);
 
 private:
     QPushButton *closeButton;
index 2c5f33072188682d5b8fdc67c31473a52c10803f..dfffebfc33831424d4331c505e2a420190dd3a74 100644 (file)
@@ -79,8 +79,8 @@ bool AggregateVideoSource::hasMoreVideos() {
 }
 
 const QStringList & AggregateVideoSource::getSuggestions() {
-    QStringList *l = new QStringList();
-    return *l;
+    static const QStringList l;
+    return l;
 }
 
 void AggregateVideoSource::abort() { }
index 55aa730091d02973c353d6255ba8bf38f8d26995..6263c43a34aa17c185fcd0fc3399a97192e77c31 100644 (file)
@@ -35,7 +35,7 @@ public:
     virtual void abort();
     virtual const QStringList & getSuggestions();
     QString getName() { return name; }
-    void setName(QString name) { this->name = name; }
+    void setName(const QString &value) { name = value; }
     void setUnwatched(bool enable) { unwatched = enable; }
 
 private:
index badfd708092f685192ffd46f4b66e572a44dde98..8ef4d317d7e910766abbd7b07edfc6ce12864896 100644 (file)
@@ -19,13 +19,18 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $END_LICENSE */
 #include "autocomplete.h"
 #include "suggester.h"
-#ifdef APP_MAC
+#ifdef APP_MAC_SEARCHFIELD
 #include "searchlineedit_mac.h"
-#include "macutils.h"
 #else
 #include "searchlineedit.h"
 #endif
 
+#ifdef APP_MAC
+#include "macutils.h"
+#endif
+
+#include <QListWidget>
+
 #ifndef QT_NO_DEBUG_OUTPUT
 /// Gives human-readable event type information.
 QDebug operator<<(QDebug str, const QEvent * ev) {
@@ -41,14 +46,14 @@ QDebug operator<<(QDebug str, const QEvent * ev) {
 }
 #endif
 
-AutoComplete::AutoComplete(SearchLineEdit *buddy, QLineEdit *lineEdit):
-    QObject(buddy), buddy(buddy), lineEdit(lineEdit), enabled(true), suggester(0), itemHovering(false) {
+AutoComplete::AutoComplete(SearchWidget *buddy, QLineEdit *lineEdit):
+    QObject(lineEdit), buddy(buddy), lineEdit(lineEdit), enabled(true), suggester(0), itemHovering(false) {
 
     popup = new QListWidget();
     popup->setWindowFlags(Qt::Popup);
-    popup->setFocusProxy(buddy);
+    popup->setFocusProxy(buddy->toWidget());
     popup->installEventFilter(this);
-    buddy->window()->installEventFilter(this);
+    buddy->toWidget()->window()->installEventFilter(this);
     popup->setMouseTracking(true);
 
     // style
@@ -66,7 +71,7 @@ AutoComplete::AutoComplete(SearchLineEdit *buddy, QLineEdit *lineEdit):
     timer->setSingleShot(true);
     timer->setInterval(500);
     connect(timer, SIGNAL(timeout()), SLOT(suggest()));
-    connect(buddy, SIGNAL(textEdited(QString)), timer, SLOT(start()));
+    connect(buddy->toWidget(), SIGNAL(textEdited(QString)), timer, SLOT(start()));
 }
 
 bool AutoComplete::eventFilter(QObject *obj, QEvent *ev) {
@@ -123,7 +128,7 @@ bool AutoComplete::eventFilter(QObject *obj, QEvent *ev) {
                 popup->setCurrentItem(0);
                 popup->clearSelection();
                 buddy->setText(originalText);
-                buddy->setFocus();
+                buddy->toWidget()->setFocus();
                 consumed = true;
             }
             break;
@@ -168,13 +173,13 @@ void AutoComplete::showSuggestions(const QList<Suggestion *> &suggestions) {
     for (int i = 0; i < suggestions.count(); ++i)
         h += popup->sizeHintForRow(i);
 
-    popup->resize(buddy->width(), h);
+    popup->resize(buddy->toWidget()->width(), h);
     adjustPosition();
     popup->setUpdatesEnabled(true);
 
     if (popup->isHidden()) {
         itemHovering = false;
-        popup->show();
+        popup->showNormal();
         QTimer::singleShot(100, this, SLOT(enableItemHovering()));
     }
 }
@@ -226,12 +231,12 @@ void AutoComplete::suggestionsReady(const QList<Suggestion *> &suggestions) {
     qDeleteAll(this->suggestions);
     this->suggestions = suggestions;
     if (!enabled) return;
-    if (!buddy->hasFocus()) return;
+    if (!buddy->toWidget()->hasFocus() && buddy->toWidget()->isVisible()) return;
     showSuggestions(suggestions);
 }
 
 void AutoComplete::adjustPosition() {
-    popup->move(buddy->mapToGlobal(QPoint(0, buddy->height())));
+    popup->move(buddy->toWidget()->mapToGlobal(QPoint(0, buddy->toWidget()->height())));
 }
 
 void AutoComplete::enableItemHovering() {
@@ -240,7 +245,7 @@ void AutoComplete::enableItemHovering() {
 
 void AutoComplete::hideSuggestions() {
     itemHovering = false;
-#ifdef APP_MAC
+#ifdef APP_MAC_NO
     mac::fadeOutWindow(popup);
 #else
     popup->hide();
@@ -250,7 +255,7 @@ void AutoComplete::hideSuggestions() {
         buddy->setText(originalText);
         originalText.clear();
     }
-    buddy->setFocus();
+    buddy->toWidget()->setFocus();
     timer->stop();
 }
 
index eaf4eb182bf642ddb86e78141dbf21d9b01ad6a7..25a632dcb7eae0ffcb1a189874f23f0dd11151b0 100644 (file)
@@ -24,14 +24,18 @@ $END_LICENSE */
 
 class Suggester;
 class Suggestion;
-class SearchLineEdit;
+class SearchWidget;
+
+QT_FORWARD_DECLARE_CLASS(QListWidget)
+QT_FORWARD_DECLARE_CLASS(QListWidgetItem)
+QT_FORWARD_DECLARE_CLASS(QLineEdit)
 
 class AutoComplete : public QObject {
 
     Q_OBJECT
 
 public:
-    AutoComplete(SearchLineEdit *buddy, QLineEdit *lineEdit);
+    AutoComplete(SearchWidget *buddy, QLineEdit *lineEdit);
     void setSuggester(Suggester* suggester);
     QListWidget* getPopup() { return popup; }
     void preventSuggest();
@@ -57,7 +61,7 @@ private:
     void showSuggestions(const QList<Suggestion*> &suggestions);
     void hideSuggestions();
 
-    SearchLineEdit *buddy;
+    SearchWidget *buddy;
     QLineEdit *lineEdit;
     QString originalText;
     QListWidget *popup;
index a7eb0553449adb7e0dcd227362c379c346f267ec..57bc5dd73761650205071cd4763ee9a4d094dcff 100644 (file)
@@ -27,12 +27,18 @@ $END_LICENSE */
 #ifdef APP_MAC
 #include "macutils.h"
 #endif
+#include "networkaccess.h"
+
+namespace The {
+    NetworkAccess* http();
+}
 
 ChannelAggregator::ChannelAggregator(QObject *parent) : QObject(parent),
     unwatchedCount(-1),
     running(false),
-    stopped(false) {
-    checkInterval = 3600;
+    stopped(false),
+    currentChannel(0) {
+    checkInterval = 1800;
 
     timer = new QTimer(this);
     timer->setInterval(60000 * 5);
@@ -88,22 +94,64 @@ void ChannelAggregator::processNextChannel() {
         running = false;
         return;
     }
-    qApp->processEvents();
     YTChannel* channel = getChannelToCheck();
     if (channel) {
-        SearchParams *params = new SearchParams();
-        params->setChannelId(channel->getChannelId());
-        params->setSortBy(SearchParams::SortByNewest);
-        params->setTransient(true);
-        params->setPublishedAfter(channel->getChecked());
-        YTSearch *videoSource = new YTSearch(params, this);
-        connect(videoSource, SIGNAL(gotVideos(QList<Video*>)), SLOT(videosLoaded(QList<Video*>)));
-        videoSource->loadVideos(50, 1);
-        channel->updateChecked();
+        checkWebPage(channel);
     } else finish();
 }
 
+void ChannelAggregator::checkWebPage(YTChannel *channel) {
+    currentChannel = channel;
+    QString url = "https://www.youtube.com/channel/" + channel->getChannelId() + "/videos";
+    QObject *reply = The::http()->get(url);
+
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(parseWebPage(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorWebPage(QNetworkReply*)));
+}
+
+void ChannelAggregator::parseWebPage(const QByteArray &bytes) {
+    bool hasNewVideos = true;
+    QRegExp re = QRegExp("[\\?&]v=([0-9A-Za-z_-]+)");
+    if (re.indexIn(bytes) != -1) {
+        QString videoId = re.cap(1);
+        QString latestVideoId = currentChannel->latestVideoId();
+        // qDebug() << "Comparing" << videoId << latestVideoId;
+        hasNewVideos = videoId != latestVideoId;
+    }
+    if (hasNewVideos) {
+        if (currentChannel) {
+            reallyProcessChannel(currentChannel);
+            currentChannel = 0;
+        }
+    } else {
+        currentChannel->updateChecked();
+        currentChannel = 0;
+        processNextChannel();
+    }
+}
+
+void ChannelAggregator::errorWebPage(QNetworkReply *reply) {
+    Q_UNUSED(reply);
+    reallyProcessChannel(currentChannel);
+    currentChannel = 0;
+}
+
+void ChannelAggregator::reallyProcessChannel(YTChannel *channel) {
+    SearchParams *params = new SearchParams();
+    params->setChannelId(channel->getChannelId());
+    params->setSortBy(SearchParams::SortByNewest);
+    params->setTransient(true);
+    params->setPublishedAfter(channel->getChecked());
+    YTSearch *videoSource = new YTSearch(params, this);
+    connect(videoSource, SIGNAL(gotVideos(QList<Video*>)), SLOT(videosLoaded(QList<Video*>)));
+    videoSource->loadVideos(50, 1);
+
+    channel->updateChecked();
+}
+
 void ChannelAggregator::finish() {
+    currentChannel = 0;
+
     /*
     foreach (YTChannel *channel, updatedChannels)
         if (channel->updateNotifyCount())
@@ -160,7 +208,7 @@ void ChannelAggregator::videosLoaded(const QList<Video*> &videos) {
         foreach (Video* video, videos) video->deleteLater();
     }
 
-    QTimer::singleShot(1000, this, SLOT(processNextChannel()));
+    QTimer::singleShot(0, this, SLOT(processNextChannel()));
 }
 
 void ChannelAggregator::updateUnwatchedCount() {
index 288ce82d70955883cbc9e1d263bf1b6e223e312f..bb92227bda47d7b0fb5c797f23b54ddecbf11b83 100644 (file)
@@ -22,6 +22,7 @@ $END_LICENSE */
 #define CHANNELAGGREGATOR_H
 
 #include <QtCore>
+#include <QtNetwork>
 
 class YTChannel;
 class Video;
@@ -50,6 +51,10 @@ signals:
 private slots:
     void videosLoaded(const QList<Video*> &videos);
     void processNextChannel();
+    void checkWebPage(YTChannel *channel);
+    void parseWebPage(const QByteArray &bytes);
+    void errorWebPage(QNetworkReply *reply);
+    void reallyProcessChannel(YTChannel *channel);
 
 private:
     ChannelAggregator(QObject *parent = 0);
@@ -66,6 +71,8 @@ private:
 
     QTimer *timer;
     bool stopped;
+
+    YTChannel *currentChannel;
 };
 
 #endif // CHANNELAGGREGATOR_H
index 797b82a539a2ea502776ce60a75e0367c4543e3b..664efc460072e2d8c6530ed0ee19b2f95f7c4d58 100644 (file)
@@ -24,9 +24,10 @@ $END_LICENSE */
 #include "fontutils.h"
 #include "channelaggregator.h"
 #include "painterutils.h"
+#include "iconutils.h"
 
-static const int ITEM_WIDTH = 128;
-static const int ITEM_HEIGHT = 128;
+static const int ITEM_WIDTH = 150;
+static const int ITEM_HEIGHT = 150;
 static const int THUMB_WIDTH = 88;
 static const int THUMB_HEIGHT = 88;
 
@@ -56,12 +57,13 @@ void ChannelItemDelegate::paint( QPainter* painter,
 void ChannelItemDelegate::paintAggregate(QPainter* painter,
                                           const QStyleOptionViewItem& option,
                                           const QModelIndex& index) const {
+    Q_UNUSED(index);
     painter->save();
 
     painter->translate(option.rect.topLeft());
     const QRect line(0, 0, option.rect.width(), option.rect.height());
 
-    static const QPixmap thumbnail = QPixmap(":/images/channels.png");
+    static const QPixmap thumbnail = IconUtils::pixmap(":/images/channels.png");
 
     QString name = tr("All Videos");
 
@@ -73,12 +75,13 @@ void ChannelItemDelegate::paintAggregate(QPainter* painter,
 void ChannelItemDelegate::paintUnwatched(QPainter* painter,
                                           const QStyleOptionViewItem& option,
                                           const QModelIndex& index) const {
+    Q_UNUSED(index);
     painter->save();
 
     painter->translate(option.rect.topLeft());
     const QRect line(0, 0, option.rect.width(), option.rect.height());
 
-    static const QPixmap thumbnail = QPixmap(":/images/unwatched.png");
+    static const QPixmap thumbnail = IconUtils::pixmap(":/images/unwatched.png");
 
     QString name = tr("Unwatched Videos");
 
diff --git a/src/channellistview.cpp b/src/channellistview.cpp
new file mode 100644 (file)
index 0000000..f791f71
--- /dev/null
@@ -0,0 +1,76 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube 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 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "channellistview.h"
+#include "painterutils.h"
+
+ChannelListView::ChannelListView() {
+
+    setSelectionMode(QAbstractItemView::NoSelection);
+
+    // layout
+    setSpacing(10);
+    setFlow(QListView::LeftToRight);
+    setWrapping(true);
+    setResizeMode(QListView::Adjust);
+    setMovement(QListView::Static);
+    setUniformItemSizes(true);
+
+    // cosmetics
+    setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
+    setFrameShape(QFrame::NoFrame);
+    setAttribute(Qt::WA_MacShowFocusRect, false);
+
+    QPalette p = palette();
+    /*
+    p.setColor(QPalette::Base, p.window().color());
+    p.setColor(QPalette::Text, p.windowText().color());
+    */
+    p.setColor(QPalette::Disabled, QPalette::Base, p.base().color());
+    p.setColor(QPalette::Disabled, QPalette::Text, p.text().color());
+    setPalette(p);
+
+    verticalScrollBar()->setPageStep(3);
+    verticalScrollBar()->setSingleStep(1);
+
+    setMouseTracking(true);
+
+}
+
+void ChannelListView::mousePressEvent(QMouseEvent *event) {
+    if (event->button() == Qt::RightButton)
+        emit contextMenu(event->pos());
+    else
+        QListView::mousePressEvent(event);
+}
+
+void ChannelListView::mouseMoveEvent(QMouseEvent *event) {
+    QWidget::mouseMoveEvent(event);
+    const QModelIndex index = indexAt(event->pos());
+    if (index.isValid()) setCursor(Qt::PointingHandCursor);
+    else unsetCursor();
+}
+
+void ChannelListView::paintEvent(QPaintEvent *event) {
+    if (!errorMessage.isEmpty())
+        PainterUtils::centeredMessage(errorMessage, viewport());
+    else
+        QListView::paintEvent(event);
+}
diff --git a/src/channellistview.h b/src/channellistview.h
new file mode 100644 (file)
index 0000000..04863a8
--- /dev/null
@@ -0,0 +1,51 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube 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 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef CHANNELLISTVIEW_H
+#define CHANNELLISTVIEW_H
+
+#include <QtGui>
+#if QT_VERSION >= 0x050000
+#include <QtWidgets>
+#endif
+
+class ChannelListView : public QListView {
+
+    Q_OBJECT
+
+public:
+    ChannelListView();
+    void setErrorMessage(const QString &value) { errorMessage = value; }
+    void clearErrorMessage() { errorMessage.clear(); }
+
+signals:
+    void contextMenu(QPoint point);
+
+protected:
+    void mousePressEvent(QMouseEvent *event);
+    void mouseMoveEvent(QMouseEvent *event);
+    void paintEvent(QPaintEvent *event);
+
+private:
+    QString errorMessage;
+
+};
+
+#endif // CHANNELLISTVIEW_H
index 95d412abaf6ff67354ec6244eef2fd3cecc3a2a9..20b564ac54249f5d4d00cb579bcde85a3e8059d0 100644 (file)
@@ -20,6 +20,7 @@ $END_LICENSE */
 
 #include "channelsuggest.h"
 #include "networkaccess.h"
+#include "compatibility/qurlqueryhelper.h"
 
 namespace The {
     NetworkAccess* http();
@@ -31,17 +32,12 @@ ChannelSuggest::ChannelSuggest(QObject *parent) : Suggester(parent) {
 
 void ChannelSuggest::suggest(const QString &query) {
     QUrl url("https://www.youtube.com/results");
-#if QT_VERSION >= 0x050000
-        {
-            QUrl &u = url;
-            QUrlQuery url;
-#endif
-    url.addQueryItem("search_type", "search_users");
-    url.addQueryItem("search_query", query);
-#if QT_VERSION >= 0x050000
-            u.setQuery(url);
-        }
-#endif
+    {
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("search_type", "search_users");
+        urlHelper.addQueryItem("search_query", query);
+    }
+
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
 }
index 893f891288ee2764f19e98215898023ce0dbd7f5..6203dbeaea73213eed1dff8edbf3c900152170ab 100644 (file)
@@ -28,59 +28,35 @@ $END_LICENSE */
 #include "ytsearch.h"
 #include "channelaggregator.h"
 #include "aggregatevideosource.h"
-#include "painterutils.h"
 #include "mainwindow.h"
 #include "iconutils.h"
 #ifdef APP_EXTRA
 #include "extra.h"
 #endif
+#include "channellistview.h"
 
 static const char *sortByKey = "subscriptionsSortBy";
 static const char *showUpdatedKey = "subscriptionsShowUpdated";
 
-ChannelView::ChannelView(QWidget *parent) : QListView(parent),
+ChannelView::ChannelView(QWidget *parent) : View(parent),
     showUpdated(false),
     sortBy(SortByName) {
 
-    setItemDelegate(new ChannelItemDelegate(this));
-    setSelectionMode(QAbstractItemView::NoSelection);
+    QBoxLayout *layout = new QVBoxLayout(this);
+    layout->setMargin(0);
+    layout->setSpacing(0);
 
-    // layout
-    setSpacing(15);
-    setFlow(QListView::LeftToRight);
-    setWrapping(true);
-    setResizeMode(QListView::Adjust);
-    setMovement(QListView::Static);
-    setUniformItemSizes(true);
+    listView = new ChannelListView();
+    listView->setItemDelegate(new ChannelItemDelegate(this));
 
-    // cosmetics
-    setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
-    setFrameShape(QFrame::NoFrame);
-    setAttribute(Qt::WA_MacShowFocusRect, false);
-
-    QPalette p = palette();
-    /*
-    p.setColor(QPalette::Base, p.window().color());
-    p.setColor(QPalette::Text, p.windowText().color());
-    */
-    p.setColor(QPalette::Disabled, QPalette::Base, p.base().color());
-    p.setColor(QPalette::Disabled, QPalette::Text, p.text().color());
-    setPalette(p);
-
-    verticalScrollBar()->setPageStep(3);
-    verticalScrollBar()->setSingleStep(1);
-
-    setMouseTracking(true);
+    channelsModel = new ChannelModel(this);
+    listView->setModel(channelsModel);
 
-    connect(this, SIGNAL(clicked(const QModelIndex &)),
-            SLOT(itemActivated(const QModelIndex &)));
-    connect(this, SIGNAL(entered(const QModelIndex &)),
-            SLOT(itemEntered(const QModelIndex &)));
+    connect(listView, SIGNAL(clicked(const QModelIndex &)), SLOT(itemActivated(const QModelIndex &)));
+    connect(listView, SIGNAL(contextMenu(QPoint)), SLOT(showContextMenu(QPoint)));
+    connect(listView, SIGNAL(viewportEntered()), channelsModel, SLOT(clearHover()));
 
-    channelsModel = new ChannelModel(this);
-    setModel(channelsModel);
-    connect(this, SIGNAL(viewportEntered()),
-            channelsModel, SLOT(clearHover()));
+    layout->addWidget(listView);
 
     setupActions();
 
@@ -178,34 +154,10 @@ void ChannelView::appear() {
 }
 
 void ChannelView::disappear() {
-    ChannelAggregator::instance()->stop();
     foreach (QAction* action, statusActions)
         MainWindow::instance()->showActionInStatusBar(action, false);
 }
 
-void ChannelView::mousePressEvent(QMouseEvent *event) {
-    if (event->button() == Qt::RightButton)
-        showContextMenu(event->pos());
-    else
-        QListView::mousePressEvent(event);
-}
-
-void ChannelView::mouseMoveEvent(QMouseEvent *event) {
-    QListView::mouseMoveEvent(event);
-    const QModelIndex index = indexAt(event->pos());
-    if (index.isValid()) setCursor(Qt::PointingHandCursor);
-    else unsetCursor();
-}
-
-void ChannelView::leaveEvent(QEvent *event) {
-    QListView::leaveEvent(event);
-    // channelsModel->clearHover();
-}
-
-void ChannelView::itemEntered(const QModelIndex &index) {
-    // channelsModel->setHoveredRow(index.row());
-}
-
 void ChannelView::itemActivated(const QModelIndex &index) {
     ChannelModel::ItemTypes itemType = channelsModel->typeForIndex(index);
     if (itemType == ChannelModel::ItemChannel) {
@@ -231,7 +183,7 @@ void ChannelView::itemActivated(const QModelIndex &index) {
 }
 
 void ChannelView::showContextMenu(const QPoint &point) {
-    const QModelIndex index = indexAt(point);
+    const QModelIndex index = listView->indexAt(point);
     if (!index.isValid()) return;
 
     YTChannel *channel = channelsModel->channelForIndex(index);
@@ -262,21 +214,6 @@ void ChannelView::showContextMenu(const QPoint &point) {
     menu.exec(mapToGlobal(point));
 }
 
-void ChannelView::paintEvent(QPaintEvent *event) {
-    if (model()->rowCount() < 3) {
-        QString msg;
-        if (!errorMessage.isEmpty())
-            msg = errorMessage;
-        else if (showUpdated)
-            msg = tr("There are no updated subscriptions at this time.");
-        else
-            msg = tr("You have no subscriptions. "
-                     "Use the star symbol to subscribe to channels.");
-        PainterUtils::centeredMessage(msg, viewport());
-    } else QListView::paintEvent(event);
-    PainterUtils::topShadow(viewport());
-}
-
 void ChannelView::toggleShowUpdated(bool enable) {
     showUpdated = enable;
     updateQuery(true);
@@ -285,7 +222,8 @@ void ChannelView::toggleShowUpdated(bool enable) {
 }
 
 void ChannelView::updateQuery(bool transition) {
-    errorMessage.clear();
+    Q_UNUSED(transition);
+    listView->clearErrorMessage();
     if (!Database::exists()) return;
 
     QString sql = "select user_id from subscriptions";
@@ -318,7 +256,15 @@ void ChannelView::updateQuery(bool transition) {
     channelsModel->setQuery(sql, Database::instance().getConnection());
     if (channelsModel->lastError().isValid()) {
         qWarning() << channelsModel->lastError().text();
-        errorMessage = channelsModel->lastError().text();
+        listView->setErrorMessage(channelsModel->lastError().text());
+    } else if (channelsModel->rowCount() < 3) {
+        QString msg;
+        if (showUpdated)
+            msg = tr("There are no updated subscriptions at this time.");
+        else
+            msg = tr("You have no subscriptions. "
+                     "Use the star symbol to subscribe to channels.");
+        listView->setErrorMessage(msg);
     }
 }
 
index a108a4c4b81865e9edf3ce9af662b548f3ea9c3e..41fcf7a3f1208cba8935e245c4c71695a19533b7 100644 (file)
@@ -29,8 +29,9 @@ $END_LICENSE */
 
 class VideoSource;
 class ChannelModel;
+class ChannelListView;
 
-class ChannelView : public QListView, public View {
+class ChannelView : public View {
 
     Q_OBJECT
 
@@ -44,12 +45,6 @@ public slots:
     void appear();
     void disappear();
 
-protected:
-    void mousePressEvent(QMouseEvent *event);
-    void mouseMoveEvent(QMouseEvent *event);
-    void leaveEvent(QEvent *event);
-    void paintEvent(QPaintEvent *event);
-
 private:
     enum SortBy {
         SortByName = 0,
@@ -60,7 +55,6 @@ private:
     };
 
 private slots:
-    void itemEntered(const QModelIndex &index);
     void itemActivated(const QModelIndex &index);
     void showContextMenu(const QPoint &point);
     void toggleShowUpdated(bool enable);
@@ -77,11 +71,11 @@ private slots:
 private:
     void setupActions();
 
+    ChannelListView *listView;
     ChannelModel *channelsModel;
     QList<QAction*> statusActions;
     bool showUpdated;
     SortBy sortBy;
-    QString errorMessage;
     QAction *markAsWatchedAction;
 
 };
diff --git a/src/compatibility/pathsservice.cpp b/src/compatibility/pathsservice.cpp
new file mode 100644 (file)
index 0000000..9b817a5
--- /dev/null
@@ -0,0 +1,67 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2015, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube 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 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#include "pathsservice.h"
+
+#include <QDesktopServices>
+
+namespace {
+
+#if QT_VERSION >= 0x050000
+typedef QStandardPaths PathProvider;
+
+#define getLocation writableLocation
+#else
+typedef QDesktopServices PathProvider;
+
+#define getLocation storageLocation
+#endif  // QT_VERSION >= 0x050000
+
+}  // namespace
+
+namespace Paths {
+QString getMoviesLocation() {
+    return PathProvider::getLocation(PathProvider::MoviesLocation);
+}
+
+QString getDesktopLocation() {
+    return PathProvider::getLocation(PathProvider::DesktopLocation);
+}
+
+QString getHomeLocation() {
+    return PathProvider::getLocation(PathProvider::HomeLocation);
+}
+
+QString getDataLocation() {
+    return PathProvider::getLocation(PathProvider::DataLocation);
+}
+
+QString getPicturesLocation() {
+    return PathProvider::getLocation(PathProvider::PicturesLocation);
+}
+
+QString getTempLocation() {
+    return PathProvider::getLocation(PathProvider::TempLocation);
+}
+
+QString getCacheLocation() {
+    return PathProvider::getLocation(PathProvider::CacheLocation);
+}
+}
diff --git a/src/compatibility/pathsservice.h b/src/compatibility/pathsservice.h
new file mode 100644 (file)
index 0000000..a35bfe9
--- /dev/null
@@ -0,0 +1,36 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2015, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube 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 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef PATHSSERVICE_H
+#define PATHSSERVICE_H
+
+#include <QtGlobal>
+
+namespace Paths {
+QString getMoviesLocation();
+QString getDesktopLocation();
+QString getHomeLocation();
+QString getDataLocation();
+QString getPicturesLocation();
+QString getTempLocation();
+QString getCacheLocation();
+}
+
+#endif  // PATHSSERVICE_H
diff --git a/src/compatibility/qurlqueryhelper.h b/src/compatibility/qurlqueryhelper.h
new file mode 100644 (file)
index 0000000..f0cce05
--- /dev/null
@@ -0,0 +1,62 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2015, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube 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 3 of the License, or
+(at your option) any later version.
+
+Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
+#ifndef QURLQUERYHELPER_H
+#define QURLQUERYHELPER_H
+
+#include <QtGlobal>
+
+QT_FORWARD_DECLARE_CLASS(QUrl)
+
+#if QT_VERSION >= 0x050000
+#include <QUrlQuery>
+
+class QUrlQueryHelper {
+public:
+    QUrlQueryHelper(QUrl &url) : m_url(url), m_urlQuery(url) {}
+
+    bool hasQueryItem(const QString &itemKey) const {
+        return m_urlQuery.hasQueryItem(itemKey);
+    }
+
+    void addQueryItem(const QString &key, const QString &value) {
+        m_urlQuery.addQueryItem(key, value);
+    }
+
+    void removeQueryItem(const QString &key) {
+        m_urlQuery.removeQueryItem(key);
+    }
+
+    ~QUrlQueryHelper() {
+        m_url.setQuery(m_urlQuery);
+    }
+
+private:
+    QUrlQueryHelper(const QUrlQueryHelper&);
+    QUrlQueryHelper& operator=(const QUrlQueryHelper&);
+
+    QUrl &m_url;
+    QUrlQuery m_urlQuery;
+};
+#else
+typedef QUrl& QUrlQueryHelper;
+#endif  // QT_VERSION >= 0x050000
+
+#endif // QURLQUERYHELPER_H
index 4e089ff9cdc895d812aabadf81be0470e0a93f05..004db384ae5bfc1607c8624b6294ebccbd83b82c 100644 (file)
@@ -20,21 +20,21 @@ $END_LICENSE */
 
 #include "database.h"
 #include "constants.h"
-#include <QDesktopServices>
+#include "compatibility/pathsservice.h"
+#include <QtDebug>
 
 static const int DATABASE_VERSION = 1;
 static const QString dbName = QLatin1String(Constants::UNIX_NAME) + ".db";
 static Database *databaseInstance = 0;
 
 Database::Database() {
-#if QT_VERSION >= 0x050000
-    QString dataLocation = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
-#else
-    QString dataLocation = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
-#endif
+    QString dataLocation = Paths::getDataLocation();
 
-    QDir().mkpath(dataLocation);
+    if (!QDir().mkpath(dataLocation)) {
+        qCritical() << "Failed to create directory " << dataLocation;
+    }
     dbLocation = dataLocation + "/" + dbName;
+    qDebug() << "dbLocation" << dbLocation;
 
     QMutexLocker locker(&lock);
 
@@ -55,6 +55,20 @@ Database::~Database() {
 }
 
 void Database::createDatabase() {
+    qDebug() << __PRETTY_FUNCTION__;
+
+#ifdef APP_LINUX
+    // Qt5 changed its "data" path. Try to move the old db to the new path
+    QString qt4DataLocation = Paths::getHomeLocation() + "/.local/share/data/" + Constants::ORG_NAME + "/" + Constants::NAME;
+    QString oldDbLocation = qt4DataLocation + "/" + dbName;
+    qDebug() << oldDbLocation;
+    if (QFile::exists(oldDbLocation)) {
+        if (QFile::copy(oldDbLocation, dbLocation)) {
+            qDebug() << "Moved db from" << oldDbLocation << "to" << dbLocation;
+            return;
+        }
+    }
+#endif
 
     qWarning() << "Creating the database";
 
@@ -101,22 +115,29 @@ void Database::createDatabase() {
               + QString::number(DATABASE_VERSION) + ")", db);
 }
 
+// static
 QString Database::getDbLocation() {
-#if QT_VERSION >= 0x050000
-    static const QString dataLocation = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
-#else
-    static const QString dataLocation = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
-#endif
-    return dataLocation + "/" + dbName;
+    return Paths::getDataLocation() + "/" + dbName;
 }
 
+// static
 bool Database::exists() {
     static bool fileExists = false;
-    if (!fileExists)
+    if (!fileExists) {
         fileExists = QFile::exists(getDbLocation());
+#ifdef APP_LINUX
+        if (!fileExists) {
+            QString qt4DataLocation = Paths::getHomeLocation() + "/.local/share/data/" + Constants::ORG_NAME + "/" + Constants::NAME;
+            QString oldDbLocation = qt4DataLocation + "/" + dbName;
+            qDebug() << "asd" << oldDbLocation;
+            fileExists = QFile::exists(oldDbLocation);
+        }
+#endif
+    }
     return fileExists;
 }
 
+// static
 Database& Database::instance() {
     static QMutex mutex;
     QMutexLocker locker(&mutex);
@@ -147,7 +168,7 @@ QSqlDatabase Database::getConnection() {
     }
 }
 
-QVariant Database::getAttribute(QString name) {
+QVariant Database::getAttribute(const QString &name) {
     QSqlQuery query("select value from attributes where name=?", getConnection());
     query.bindValue(0, name);
 
@@ -158,7 +179,7 @@ QVariant Database::getAttribute(QString name) {
     return QVariant();
 }
 
-void Database::setAttribute(QString name, QVariant value) {
+void Database::setAttribute(const QString &name, const QVariant &value) {
     QSqlQuery query(getConnection());
     query.prepare("insert or replace into attributes (name, value) values (?,?)");
     query.bindValue(0, name);
index e5133fca18994e7931fe7d262bd443872617256d..3012a0f343d6e8ecf141a3b196ce7880abf0ff0c 100644 (file)
@@ -42,8 +42,8 @@ private:
     Database();
     static QString getDbLocation();
     void createDatabase();
-    QVariant getAttribute(QString name);
-    void setAttribute(QString name, QVariant value);
+    QVariant getAttribute(const QString &name);
+    void setAttribute(const QString &name, const QVariant &value);
 
     void fixChannelIds();
 
index 11bb943e231b00c3adde1c7799c9876031a36064..82fb53f3d3fe5d23987d446b2295a309ae10196d 100644 (file)
@@ -50,7 +50,9 @@ uint DataUtils::parseIsoPeriod(const QString &isoPeriod) {
 
     uint days = 0, hours = 0, minutes = 0, seconds = 0;
 
-    const char *ptr = isoPeriod.toStdString().c_str();
+    QByteArray ba = isoPeriod.toLocal8Bit();
+    const char *ptr = ba.data();
+    
     while (*ptr) {
         if(*ptr == 'P' || *ptr == 'T') {
             ptr++;
@@ -77,3 +79,38 @@ uint DataUtils::parseIsoPeriod(const QString &isoPeriod) {
     uint period = ((days * 24 + hours) * 60 + minutes) * 60 + seconds;
     return period;
 }
+
+QString DataUtils::formatDateTime(const QDateTime &dt) {
+    const qint64 seconds = dt.secsTo(QDateTime::currentDateTime());
+    QString s;
+    int f = 60;
+    if (seconds < f) {
+        s = qApp->translate("DataUtils", "Just now");
+    } else if (seconds < (f *= 60)) {
+        s = qApp->translate("DataUtils", "%n minute(s) ago", "", seconds / 60);
+    } else if (seconds < (f *= 24)) {
+        s = qApp->translate("DataUtils", "%n hour(s) ago", "", seconds / (60*60));
+    } else if (seconds < (f *= 7)) {
+        s = qApp->translate("DataUtils", "%n day(s) ago", "", seconds / (60*60*24));
+    } else if (seconds < (f = 60*60*24*30)) {
+        s = qApp->translate("DataUtils", "%n weeks(s) ago", "", seconds / (60*60*24*7));
+    } else if (seconds < (f = 60*60*24*365)) {
+        s = qApp->translate("DataUtils", "%n month(s) ago", "", seconds / (60*60*24*30));
+    } else {
+        s = dt.date().toString(Qt::DefaultLocaleShortDate);
+    }
+    return s;
+}
+
+QString DataUtils::formatDuration(uint secs) {
+    uint d = secs;
+    QString res;
+    uint seconds = d % 60;
+    d /= 60;
+    uint minutes = d % 60;
+    d /= 60;
+    uint hours = d % 24;
+    if (hours == 0)
+        return res.sprintf("%d:%02d", minutes, seconds);
+    return res.sprintf("%d:%02d:%02d", hours, minutes, seconds);
+}
index e5a8de08cbe3ec761876f14df349173d17c18876..ad6d203461bce514b59feef57c0bc586c86399df 100644 (file)
@@ -10,6 +10,8 @@ public:
     static QString regioneCode(const QLocale &locale);
     static QString systemRegioneCode();
     static uint parseIsoPeriod(const QString &isoPeriod);
+    static QString formatDateTime(const QDateTime &dt);
+    static QString formatDuration(uint secs);
 
 private:
     DataUtils() { }
index 4766b008635f3c5c8dc988914dfd35ae389fe939..fda8a8702cfb7e5c72fa0d608897cf8429a58e36 100644 (file)
@@ -20,6 +20,7 @@ $END_LICENSE */
 
 #include "diskcache.h"
 #include <QtNetwork>
+#include "compatibility/qurlqueryhelper.h"
 
 DiskCache::DiskCache(QObject *parent) : QNetworkDiskCache(parent) { }
 
@@ -43,10 +44,12 @@ QIODevice* DiskCache::prepare(const QNetworkCacheMetaData &metaData) {
 QNetworkCacheMetaData DiskCache::metaData(const QUrl &url) {
     // Remove "key" from query string in order to reuse cache when key changes
     static const QString keyQueryItem = "key";
-    if (url.hasQueryItem(keyQueryItem)) {
-        QUrl url2(url);
-        url2.removeQueryItem(keyQueryItem);
+    QUrl url2(url);
+    QUrlQueryHelper urlHelper(url2);
+    if (urlHelper.hasQueryItem(keyQueryItem)) {
+        urlHelper.removeQueryItem(keyQueryItem);
         return QNetworkDiskCache::metaData(url2);
     }
+
     return QNetworkDiskCache::metaData(url);
 }
index 7a1fafd4c34ebb59c0ac0da291f83c43e0abaea9..927566162dc8b929d8e16eac86a970306acc84ac 100644 (file)
@@ -28,7 +28,7 @@ DownloadListView::DownloadListView(QWidget *parent) : QListView(parent) {
 }
 
 void DownloadListView::leaveEvent(QEvent * /* event */) {
-    DownloadModel *downloadModel = dynamic_cast<DownloadModel *>(model());
+    DownloadModel *downloadModel = qobject_cast<DownloadModel *>(model());
     if (downloadModel) downloadModel->clearHover();
 }
 
@@ -69,7 +69,7 @@ bool DownloadListView::isHoveringPlayIcon(QMouseEvent *event) {
     const QRect itemRect = visualRect(itemIndex);
     // qDebug() << " itemRect.x()" <<  itemRect.x();
 
-    PlaylistItemDelegate *delegate = dynamic_cast<PlaylistItemDelegate *>(itemDelegate());
+    PlaylistItemDelegate *delegate = qobject_cast<PlaylistItemDelegate *>(itemDelegate());
     if (!delegate) return false;
 
     QRect buttonRect = delegate->downloadButtonRect(itemRect);
@@ -81,5 +81,5 @@ bool DownloadListView::isHoveringPlayIcon(QMouseEvent *event) {
 
 void DownloadListView::paintEvent(QPaintEvent *event) {
     QListView::paintEvent(event);
-    PainterUtils::topShadow(viewport());
+    // PainterUtils::topShadow(viewport());
 }
index 340b8d6a9a159e48b2d2edbf86b8aa716f776ddf..9375bb082f6a4164b6ad6ccf87a6e9e0c95a2580 100644 (file)
@@ -31,6 +31,8 @@ $END_LICENSE */
 #include "extra.h"
 #endif
 #include "datautils.h"
+#include "compatibility/pathsservice.h"
+#include "iconutils.h"
 
 static DownloadManager *downloadManagerInstance = 0;
 
@@ -72,7 +74,7 @@ void DownloadManager::addItem(Video *video) {
     if (!Activation::instance().isActivated()) {
         if (video->duration() >= 60*4) {
             QMessageBox msgBox(MainWindow::instance());
-            msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+            msgBox.setIconPixmap(IconUtils::pixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
             msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
             msgBox.setInformativeText(
                         tr("It can only download videos shorter than %1 minutes so you can test the download functionality.")
@@ -167,29 +169,17 @@ void DownloadManager::updateStatusMessage() {
 
 QString DownloadManager::defaultDownloadFolder() {
     // download in the Movies system folder
-#if QT_VERSION >= 0x050000
-    QString path = QStandardPaths::writableLocation(QStandardPaths::MoviesLocation);
-#else
-    QString path = QDesktopServices::storageLocation(QDesktopServices::MoviesLocation);
-#endif
+    QString path = Paths::getMoviesLocation();
 
-    QDir moviesDir(path);
+    const QDir moviesDir(path);
     if (!moviesDir.exists()) {
         // fallback to Desktop
-#if QT_VERSION >= 0x050000
-        path = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);
-#else
-        path = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
-#endif
+        path = Paths::getDesktopLocation();
 
-        QDir desktopDir(path);
+        const QDir desktopDir(path);
         if (!desktopDir.exists()) {
             // fallback to Home
-#if QT_VERSION >= 0x050000
-            path = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-            path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
+            path = Paths::getHomeLocation();
         }
     }
     return path;
index 7dd8f4901d942206de190d8ca9f91f67af43d4cb..a4348c4b978dce6b395cb11ecbec98ea24a0b641 100644 (file)
@@ -46,9 +46,9 @@ public slots:
     void updatePlayIcon();
 
 private:
-    int columnCount() { return 1; }
+    int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const { return 1; }
 
-    DownloadManager *downloadManager;
+    DownloadManager *const downloadManager;
     int hoveredRow;
     bool playIconHovered;
     bool playIconPressed;
index f04a3f215b8663f39253ef78e49581fa9f42578d..e283867586216fb7cc270e8b57c2a7fd24df897f 100644 (file)
@@ -21,6 +21,7 @@ $END_LICENSE */
 #include "downloadsettings.h"
 #include "downloadmanager.h"
 #include "mainwindow.h"
+#include "compatibility/pathsservice.h"
 
 DownloadSettings::DownloadSettings(QWidget *parent) : QWidget(parent) {
 
@@ -56,25 +57,15 @@ void DownloadSettings::paintEvent(QPaintEvent * /*event*/) {
 }
 
 void DownloadSettings::changeFolder() {
-    QString path;
+    const QString path = Paths::getHomeLocation();
 #ifdef APP_MAC
     QFileDialog* dialog = new QFileDialog(this);
     dialog->setFileMode(QFileDialog::Directory);
     dialog->setOptions(QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly);
-#if QT_VERSION >= 0x050000
-    path = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-    path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
     dialog->setDirectory(path);
     dialog->open(this, SLOT(folderChosen(const QString &)));
 #else
 
-#if QT_VERSION >= 0x050000
-    path = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-    path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
     QString folder = QFileDialog::getExistingDirectory(window(), tr("Choose the download location"),
                                                        path,
                                                        QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly);
@@ -95,12 +86,8 @@ void DownloadSettings::folderChosen(const QString &dir) {
 }
 
 void DownloadSettings::updateMessage() {
-    QString path = DownloadManager::instance()->currentDownloadFolder();
-#if QT_VERSION >= 0x050000
-    QString home = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-    QString home = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
+    const QString path = DownloadManager::instance()->currentDownloadFolder();
+    const QString home = Paths::getHomeLocation();
     QString displayPath = path;
     displayPath = displayPath.remove(home + "/");
     message->setText(
index 2ad4763fe05870fddd7e4b7547c4dc33f1b8f307..b7b9a947d61ac5675ff608c1386cfe873840f7aa 100644 (file)
@@ -28,7 +28,7 @@ $END_LICENSE */
 #include "playlistitemdelegate.h"
 #include "segmentedcontrol.h"
 
-DownloadView::DownloadView(QWidget *parent) : QWidget(parent) {
+DownloadView::DownloadView(QWidget *parent) : View(parent) {
 
     QBoxLayout *layout = new QVBoxLayout(this);
     layout->setMargin(0);
@@ -40,14 +40,6 @@ DownloadView::DownloadView(QWidget *parent) : QWidget(parent) {
     layout->addWidget(bar);
 
     listView = new DownloadListView(this);
-#ifdef APP_MAC
-    listView->setAlternatingRowColors(true);
-#endif
-    /*
-    QPalette p = listView->palette();
-    p.setColor(QPalette::Base, palette().color(QPalette::Window));
-    listView->setPalette(p);
-    */
     PlaylistItemDelegate *delegate = new PlaylistItemDelegate(this, true);
     listView->setItemDelegate(delegate);
     listView->setSelectionMode(QAbstractItemView::NoSelection);
index dccbf9c95a2705e2fa1055e837d39a0eb9becf68..6b30286be054d5f98c043313e6b20a56f9ee89de 100644 (file)
@@ -32,7 +32,7 @@ class DownloadModel;
 class DownloadListView;
 class DownloadSettings;
 
-class DownloadView : public QWidget, public View {
+class DownloadView : public View {
 
     Q_OBJECT
 
diff --git a/src/exlineedit.cpp b/src/exlineedit.cpp
new file mode 100644 (file)
index 0000000..4784c8a
--- /dev/null
@@ -0,0 +1,186 @@
+#include "exlineedit.h"
+#include "iconutils.h"
+
+ClearButton::ClearButton(QWidget *parent) : QAbstractButton(parent), hovered(false), mousePressed(false) {
+    setCursor(Qt::ArrowCursor);
+    setToolTip(tr("Clear"));
+    setVisible(false);
+    setFocusPolicy(Qt::NoFocus);
+}
+
+void ClearButton::paintEvent(QPaintEvent *e) {
+    Q_UNUSED(e);
+    QPainter painter(this);
+    const int h = height();
+    int iconSize = 16;
+    if (h > 30) iconSize = 22;
+    QIcon::Mode iconMode = QIcon::Normal;
+    if (mousePressed) iconMode = QIcon::Active;
+    QPixmap p = IconUtils::icon("edit-clear").pixmap(iconSize, iconSize, iconMode);
+    int x = (width() - p.width()) / 2;
+    int y = (h - p.height()) / 2;
+    painter.drawPixmap(x, y, p);
+}
+
+void ClearButton::textChanged(const QString &text) {
+    setVisible(!text.isEmpty());
+}
+
+void ClearButton::enterEvent(QEvent *e) {
+    hovered = true;
+    QAbstractButton::enterEvent(e);
+}
+
+void ClearButton::leaveEvent(QEvent *e) {
+    hovered = false;
+    QAbstractButton::leaveEvent(e);
+}
+
+void ClearButton::mousePressEvent(QMouseEvent *e) {
+    mousePressed = true;
+    QAbstractButton::mousePressEvent(e);
+}
+
+void ClearButton::mouseReleaseEvent(QMouseEvent *e) {
+    mousePressed = false;
+    QAbstractButton::mouseReleaseEvent(e);
+}
+
+ExLineEdit::ExLineEdit(QWidget *parent)
+    : QWidget(parent)
+    , m_leftWidget(0)
+    , m_lineEdit(new QLineEdit(this))
+    , m_clearButton(new ClearButton(this)) {
+    setFocusPolicy(m_lineEdit->focusPolicy());
+    setAttribute(Qt::WA_InputMethodEnabled);
+    setSizePolicy(m_lineEdit->sizePolicy());
+    setBackgroundRole(m_lineEdit->backgroundRole());
+    setMouseTracking(true);
+    setAcceptDrops(true);
+    setAttribute(Qt::WA_MacShowFocusRect, true);
+    QPalette p = m_lineEdit->palette();
+    setPalette(p);
+
+    // line edit
+    m_lineEdit->setFrame(false);
+    m_lineEdit->setFocusProxy(this);
+    m_lineEdit->setAttribute(Qt::WA_MacShowFocusRect, false);
+    m_lineEdit->setStyleSheet("background:transparent");
+    QPalette clearPalette = m_lineEdit->palette();
+    clearPalette.setBrush(QPalette::Base, QBrush(Qt::transparent));
+    m_lineEdit->setPalette(clearPalette);
+
+    // clearButton
+    connect(m_clearButton, SIGNAL(clicked()), m_lineEdit, SLOT(clear()));
+    connect(m_lineEdit, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&)));
+}
+
+void ExLineEdit::setFont(const QFont &font) {
+    m_lineEdit->setFont(font);
+    updateGeometries();
+}
+
+void ExLineEdit::setLeftWidget(QWidget *widget) {
+    m_leftWidget = widget;
+}
+
+QWidget *ExLineEdit::leftWidget() const {
+    return m_leftWidget;
+}
+
+void ExLineEdit::clear() {
+    m_lineEdit->clear();
+}
+
+QString ExLineEdit::text() {
+    return m_lineEdit->text();
+}
+
+void ExLineEdit::resizeEvent(QResizeEvent *e) {
+    Q_ASSERT(m_leftWidget);
+    updateGeometries();
+    QWidget::resizeEvent(e);
+}
+
+void ExLineEdit::updateGeometries() {
+    QStyleOptionFrameV2 panel;
+    initStyleOption(&panel);
+    QRect rect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
+
+    int padding = 3;
+    // int height = rect.height() + padding*2;
+    int width = rect.width();
+
+    // int m_leftWidgetHeight = m_leftWidget->height();
+    m_leftWidget->setGeometry(rect.x() + 2,          0,
+                              m_leftWidget->width(), m_leftWidget->height());
+
+    int clearButtonWidth = this->height();
+    m_lineEdit->setGeometry(m_leftWidget->x() + m_leftWidget->width(),        padding,
+                            width - clearButtonWidth - m_leftWidget->width(), this->height() - padding*2);
+
+    m_clearButton->setGeometry(this->width() - clearButtonWidth, 0,
+                               clearButtonWidth, this->height());
+}
+
+void ExLineEdit::initStyleOption(QStyleOptionFrameV2 *option) const {
+    option->initFrom(this);
+    option->rect = contentsRect();
+    option->lineWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, option, this);
+    option->midLineWidth = 0;
+    option->state |= QStyle::State_Sunken;
+    if (m_lineEdit->isReadOnly())
+        option->state |= QStyle::State_ReadOnly;
+#ifdef QT_KEYPAD_NAVIGATION
+    if (hasEditFocus())
+        option->state |= QStyle::State_HasEditFocus;
+#endif
+    option->features = QStyleOptionFrameV2::None;
+}
+
+QSize ExLineEdit::sizeHint() const {
+    m_lineEdit->setFrame(true);
+    QSize size = m_lineEdit->sizeHint();
+    m_lineEdit->setFrame(false);
+    size = size + QSize(3, 3);
+    return size;
+}
+
+void ExLineEdit::focusInEvent(QFocusEvent *e) {
+    m_lineEdit->event(e);
+    QWidget::focusInEvent(e);
+}
+
+void ExLineEdit::focusOutEvent(QFocusEvent *e) {
+    m_lineEdit->event(e);
+
+    if (m_lineEdit->completer()) {
+        connect(m_lineEdit->completer(), SIGNAL(activated(QString)),
+                         m_lineEdit, SLOT(setText(QString)));
+        connect(m_lineEdit->completer(), SIGNAL(highlighted(QString)),
+                         m_lineEdit, SLOT(_q_completionHighlighted(QString)));
+    }
+    QWidget::focusOutEvent(e);
+}
+
+void ExLineEdit::keyPressEvent(QKeyEvent *e) {
+    if (e->key() == Qt::Key_Escape && !m_lineEdit->text().isEmpty()) {
+        m_lineEdit->clear();
+    }
+    m_lineEdit->event(e);
+    QWidget::keyPressEvent(e);
+}
+
+bool ExLineEdit::event(QEvent *e) {
+    if (e->type() == QEvent::ShortcutOverride || e->type() == QEvent::InputMethod)
+        m_lineEdit->event(e);
+    return QWidget::event(e);
+}
+
+void ExLineEdit::paintEvent(QPaintEvent *e) {
+    Q_UNUSED(e);
+    QPainter p(this);
+    QStyleOptionFrameV2 panel;
+    initStyleOption(&panel);
+    style()->drawPrimitive(QStyle::PE_PanelLineEdit, &panel, &p, this);
+}
diff --git a/src/exlineedit.h b/src/exlineedit.h
new file mode 100644 (file)
index 0000000..228b781
--- /dev/null
@@ -0,0 +1,61 @@
+#ifndef EXLINEEDIT_H
+#define EXLINEEDIT_H
+
+#include <QtGui>
+#if QT_VERSION >= 0x050000
+#include <QtWidgets>
+#endif
+
+class ClearButton : public QAbstractButton {
+
+    Q_OBJECT
+
+public:
+    ClearButton(QWidget *parent = 0);
+
+public slots:
+    void textChanged(const QString &text);
+
+protected:
+    void paintEvent(QPaintEvent *e);
+    void enterEvent(QEvent *e);
+    void leaveEvent(QEvent *e);
+    void mousePressEvent(QMouseEvent *e);
+    void mouseReleaseEvent(QMouseEvent *e);
+
+private:
+    bool hovered;
+    bool mousePressed;
+};
+
+class ExLineEdit : public QWidget {
+
+    Q_OBJECT
+
+public:
+    ExLineEdit(QWidget *parent = 0);
+    QLineEdit *lineEdit() const { return m_lineEdit; }
+    void setLeftWidget(QWidget *widget);
+    QWidget *leftWidget() const;
+    void clear();
+    QString text();
+    QSize sizeHint() const;
+    void updateGeometries();
+    void setFont(const QFont &font);
+
+protected:
+    void focusInEvent(QFocusEvent *e);
+    void focusOutEvent(QFocusEvent *e);
+    void keyPressEvent(QKeyEvent *e);
+    void paintEvent(QPaintEvent *e);
+    void resizeEvent(QResizeEvent *e);
+    bool event(QEvent *e);
+    void initStyleOption(QStyleOptionFrameV2 *option) const;
+
+    QWidget *m_leftWidget;
+    QLineEdit *m_lineEdit;
+    ClearButton *m_clearButton;
+};
+
+#endif // EXLINEEDIT_H
+
index 5e3f3c1588ab1b724f20679ac9fe12f1148c1995..dc56dd5f983aea0d64cf6bce0c854b06b6ee3c13 100644 (file)
@@ -20,69 +20,51 @@ $END_LICENSE */
 
 #include "fontutils.h"
 
-static const int MIN_PIXEL_SIZE = 11;
-
-const QFont FontUtils::small() {
-    static QFont font;
-    static bool initialized = false;
-    if (!initialized) {
-      initialized = true;
-      font.setPointSize(font.pointSize()*.85);
-      if (font.pixelSize() < MIN_PIXEL_SIZE) font.setPixelSize(MIN_PIXEL_SIZE);
-    }
+namespace {
+
+QFont createFont(bool isBold, double sizeScale) {
+    QFont font;
+    font.setPointSize(font.pointSize() * sizeScale);
+    font.setBold(isBold);
+    return font;
+}
+
+QFont createFontWithMinSize(bool isBold, double sizeScale) {
+    const int MIN_PIXEL_SIZE = 12;
+    QFont font = createFont(isBold, sizeScale);
+    if (font.pixelSize() < MIN_PIXEL_SIZE)
+        font.setPixelSize(MIN_PIXEL_SIZE);
+    return font;
+}
+
+}
+
+const QFont &FontUtils::small() {
+    static const QFont font = createFontWithMinSize(false, .9);
     return font;
 }
 
-const QFont FontUtils::smallBold() {
-    static QFont font;
-    static bool initialized = false;
-    if (!initialized) {
-      initialized = true;
-      font.setPointSize(font.pointSize()*.85);
-      font.setBold(true);
-      if (font.pixelSize() < MIN_PIXEL_SIZE) font.setPixelSize(MIN_PIXEL_SIZE);
-    }
+const QFont &FontUtils::smallBold() {
+    static const QFont font = createFontWithMinSize(true, .9);
     return font;
 }
 
-const QFont FontUtils::medium() {
-    static QFont font;
-    static bool initialized = false;
-    if (!initialized) {
-      initialized = true;
-      font.setPointSize(font.pointSize()*1.1);
-    }
+const QFont &FontUtils::medium() {
+    static const QFont font = createFont(false, 1.1);
     return font;
 }
 
-const QFont FontUtils::mediumBold() {
-    static QFont font;
-    static bool initialized = false;
-    if (!initialized) {
-      initialized = true;
-      font.setPointSize(font.pointSize()*0.9);
-      font.setBold(true);
-    }
+const QFont &FontUtils::mediumBold() {
+    static const QFont font = createFont(true, 1.1);
     return font;
 }
 
-const QFont FontUtils::big() {
-    static QFont font;
-    static bool initialized = false;
-    if (!initialized) {
-      initialized = true;
-      font.setPointSize(font.pointSize()*1.5);
-    }
+const QFont &FontUtils::big() {
+    static const QFont font = createFont(false, 1.5);
     return font;
 }
 
-const QFont FontUtils::bigBold() {
-    static QFont font;
-    static bool initialized = false;
-    if (!initialized) {
-      initialized = true;
-      font.setPointSize(font.pointSize()*1.5);
-      font.setBold(true);
-    }
+const QFont &FontUtils::bigBold() {
+    static const QFont font = createFont(true, 1.5);
     return font;
 }
index 7048ea8e22462cff9bb5c93c4c31da408fddcbe4..0c4d9ed843909bd9bf9be7bf6b9a5f72930a7c77 100644 (file)
@@ -26,12 +26,12 @@ $END_LICENSE */
 class FontUtils {
 
 public:
-    static const QFont small();
-    static const QFont smallBold();
-    static const QFont medium();
-    static const QFont mediumBold();
-    static const QFont big();
-    static const QFont bigBold();
+    static const QFont &small();
+    static const QFont &smallBold();
+    static const QFont &medium();
+    static const QFont &mediumBold();
+    static const QFont &big();
+    static const QFont &bigBold();
 
 };
 
index e54b5d5e3e784735be6690b4ee08094d83a1509d..9306998752410e15f50b45c220ce72c70e42180b 100644 (file)
@@ -32,6 +32,7 @@ $END_LICENSE */
 #include <cstdlib>
 #include "networkaccess.h"
 #include "diskcache.h"
+#include "compatibility/pathsservice.h"
 
 namespace The {
 
@@ -148,12 +149,7 @@ namespace The {
             maybeSetSystemProxy();
             nam = new QNetworkAccessManager();
             QNetworkDiskCache *cache = new DiskCache();
-#if QT_VERSION >= 0x050000
-            QString cacheLocation = QStandardPaths::writableLocation(QStandardPaths::DataLocation) + "/qt5";
-#else
-            QString cacheLocation = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
-#endif
-            cache->setCacheDirectory(cacheLocation);
+            cache->setCacheDirectory(Paths::getCacheLocation());
             nam->setCache(cache);
         }
         return nam;
index 1d56c26553dd6d3d802895ccc313f36b16e858e7..c64f89181e0314415b8297a2086da19335d8f45b 100644 (file)
@@ -32,7 +32,7 @@ $END_LICENSE */
 #include "macutils.h"
 #endif
 
-HomeView::HomeView(QWidget *parent) : QWidget(parent),
+HomeView::HomeView(QWidget *parent) : View(parent),
     standardFeedsView(0),
     channelsView(0) {
 
index 7e4ddb7256d84623c5edc1ed1225c7d1c85560c8..fb412f4993456eb4e2b54e9571834c4565aa9eb3 100644 (file)
@@ -32,13 +32,12 @@ class SearchView;
 class StandardFeedsView;
 class ChannelView;
 
-class HomeView : public QWidget, public View  {
+class HomeView : public View  {
 
     Q_OBJECT
 
 public:
     HomeView(QWidget *parent = 0);
-    void appear();
     void disappear();
     QHash<QString, QVariant> metadata() {
         QHash<QString, QVariant> metadata;
@@ -50,6 +49,7 @@ public:
     StandardFeedsView* getStandardFeedsView() { return standardFeedsView; }
 
 private slots:
+    void appear();
     void showSearch();
     void showStandardFeeds();
     void showChannels();
diff --git a/src/iconloader/qticonloader.cpp b/src/iconloader/qticonloader.cpp
deleted file mode 100644 (file)
index 47387a0..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-**
-****************************************************************************/
-
-
-#include "qticonloader.h"
-#include <QtGui/QPixmapCache>
-
-#include <QtCore/QList>
-#include <QtCore/QHash>
-#include <QtCore/QDir>
-#include <QtCore/QString>
-#include <QtCore/QLibrary>
-#include <QtCore/QSettings>
-#include <QtCore/QTextStream>
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-
-#ifdef Q_WS_X11
-
-class QIconTheme
-{
-public:
-    QIconTheme(QHash <int, QString> dirList, QStringList parents) :
-            _dirList(dirList), _parents(parents), _valid(true){ }
-    QIconTheme() : _valid(false){ }
-    QHash <int, QString> dirList() {return _dirList;}
-    QStringList parents() {return _parents;}
-    bool isValid() {return _valid;}
-
-private:
-    QHash <int, QString> _dirList;
-    QStringList _parents;
-    bool _valid;
-};
-
-class QtIconLoaderImplementation
-{
-public:
-    QtIconLoaderImplementation();
-    QPixmap findIcon(int size, const QString &name) const;
-
-private:
-    QIconTheme parseIndexFile(const QString &themeName) const;
-    void lookupIconTheme() const;
-    QPixmap findIconHelper(int size,
-                           const QString &themeName,
-                           const QString &iconName,
-                           QStringList &visited) const;
-    mutable QString themeName;
-    mutable QStringList iconDirs;
-    mutable QHash <QString, QIconTheme> themeList;
-};
-
-Q_GLOBAL_STATIC(QtIconLoaderImplementation, iconLoaderInstance)
-#endif
-
-        /*!
-
-    Returns the standard icon for the given icon /a name
-    as specified in the freedesktop icon spec
-    http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
-
-    /a fallback is an optional argument to specify the icon to be used if
-    no icon is found on the platform. This is particularily useful for
-    crossplatform code.
-
-*/
-        QIcon QtIconLoader::icon(const QString &name)
-{
-    QIcon icon;
-
-#ifdef Q_WS_X11
-#if QT_VERSION < 0x040600
-    QString pngExtension(QLatin1String(".png"));
-    QList<int> iconSizes;
-    iconSizes << 16 << 22 << 24 << 32 << 48;
-    Q_FOREACH (int size, iconSizes) {
-        icon.addPixmap(iconLoaderInstance()->findIcon(size, name));
-    }
-#else
-    icon = QIcon::fromTheme(name);
-#endif
-#else
-        icon = Extra::getIcon(name);
-#endif
-
-    return icon;
-}
-
-#ifdef Q_WS_X11
-
-QtIconLoaderImplementation::QtIconLoaderImplementation()
-{
-    lookupIconTheme();
-}
-
-extern "C" {
-    struct GConfClient;
-    struct GError;
-    typedef void (*Ptr_g_type_init)();
-    typedef GConfClient* (*Ptr_gconf_client_get_default)();
-    typedef char* (*Ptr_gconf_client_get_string)(GConfClient*, const char*, GError **);
-    typedef void (*Ptr_g_object_unref)(void *);
-    typedef void (*Ptr_g_error_free)(GError *);
-    typedef void (*Ptr_g_free)(void*);
-    static Ptr_g_type_init p_g_type_init = 0;
-    static Ptr_gconf_client_get_default p_gconf_client_get_default = 0;
-    static Ptr_gconf_client_get_string p_gconf_client_get_string = 0;
-    static Ptr_g_object_unref p_g_object_unref = 0;
-    static Ptr_g_error_free p_g_error_free = 0;
-    static Ptr_g_free p_g_free = 0;
-}
-
-
-static int kdeVersion()
-{
-    static int version = qgetenv("KDE_SESSION_VERSION").toInt();
-    return version;
-}
-
-static QString kdeHome()
-{
-    static QString kdeHomePath;
-    if (kdeHomePath.isEmpty()) {
-        kdeHomePath = QFile::decodeName(qgetenv("KDEHOME"));
-        if (kdeHomePath.isEmpty()) {
-            int kdeSessionVersion = kdeVersion();
-            QDir homeDir(QDir::homePath());
-            QString kdeConfDir(QLatin1String("/.kde"));
-            if (4 == kdeSessionVersion && homeDir.exists(QLatin1String(".kde4")))
-                kdeConfDir = QLatin1String("/.kde4");
-            kdeHomePath = QDir::homePath() + kdeConfDir;
-        }
-    }
-    return kdeHomePath;
-}
-
-void QtIconLoaderImplementation::lookupIconTheme() const
-{
-    
-#ifdef Q_WS_X11
-    QString dataDirs = QFile::decodeName(getenv("XDG_DATA_DIRS"));
-    if (dataDirs.isEmpty())
-        dataDirs = QLatin1String("/usr/local/share/:/usr/share/");
-    
-    dataDirs.prepend(QDir::homePath() + QLatin1String("/:"));
-    iconDirs = dataDirs.split(QLatin1Char(':'));
-    
-    // If we are running GNOME we resolve and use GConf. In all other
-    // cases we currently use the KDE icon theme
-    
-    if (qgetenv("DESKTOP_SESSION") == "gnome" ||
-        !qgetenv("GNOME_DESKTOP_SESSION_ID").isEmpty()) {
-        
-        if (themeName.isEmpty()) {
-            // Resolve glib and gconf
-            
-            p_g_type_init =              (Ptr_g_type_init)QLibrary::resolve(QLatin1String("gobject-2.0"), 0, "g_type_init");
-            p_gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLatin1String("gconf-2"), 4, "gconf_client_get_default");
-            p_gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLatin1String("gconf-2"), 4, "gconf_client_get_string");
-            p_g_object_unref =           (Ptr_g_object_unref)QLibrary::resolve(QLatin1String("gobject-2.0"), 0, "g_object_unref");
-            p_g_error_free =             (Ptr_g_error_free)QLibrary::resolve(QLatin1String("glib-2.0"), 0, "g_error_free");
-            p_g_free =                   (Ptr_g_free)QLibrary::resolve(QLatin1String("glib-2.0"), 0, "g_free");
-            
-            if (p_g_type_init && p_gconf_client_get_default &&
-                p_gconf_client_get_string && p_g_object_unref &&
-                p_g_error_free && p_g_free) {
-                
-                p_g_type_init();
-                GConfClient* client = p_gconf_client_get_default();
-                GError *err = 0;
-                
-                char *str = p_gconf_client_get_string(client, "/desktop/gnome/interface/icon_theme", &err);
-                if (!err) {
-                    themeName = QString::fromUtf8(str);
-                    p_g_free(str);
-                }
-                
-                p_g_object_unref(client);
-                if (err)
-                    p_g_error_free (err);
-            }
-            if (themeName.isEmpty())
-                themeName = QLatin1String("gnome");
-        }
-        
-        if (!themeName.isEmpty())
-            return;
-    }
-    
-    // KDE (and others)
-    if (dataDirs.isEmpty())
-        dataDirs = QLatin1String("/usr/local/share/:/usr/share/");
-    
-    dataDirs += QLatin1Char(':') + kdeHome() + QLatin1String("/share");
-    dataDirs.prepend(QDir::homePath() + QLatin1String("/:"));
-    QStringList kdeDirs = QFile::decodeName(getenv("KDEDIRS")).split(QLatin1Char(':'));
-    Q_FOREACH (const QString dirName, kdeDirs)
-            dataDirs.append(QLatin1Char(':') + dirName + QLatin1String("/share"));
-    iconDirs = dataDirs.split(QLatin1Char(':'));
-    
-    QFileInfo fileInfo(QLatin1String("/usr/share/icons/default.kde"));
-    QDir dir(fileInfo.canonicalFilePath());
-    QString kdeDefault = kdeVersion() >= 4 ? QString::fromLatin1("oxygen") : QString::fromLatin1("crystalsvg");
-    QString defaultTheme = fileInfo.exists() ? dir.dirName() : kdeDefault;
-    QSettings settings(kdeHome() + QLatin1String("/share/config/kdeglobals"), QSettings::IniFormat);
-    settings.beginGroup(QLatin1String("Icons"));
-    themeName = settings.value(QLatin1String("Theme"), defaultTheme).toString();
-#endif
-}
-
-QIconTheme QtIconLoaderImplementation::parseIndexFile(const QString &themeName) const
-{
-    QIconTheme theme;
-    QFile themeIndex;
-    QStringList parents;
-    QHash <int, QString> dirList;
-
-    for ( int i = 0 ; i < iconDirs.size() && !themeIndex.exists() ; ++i) {
-        const QString &contentDir = QLatin1String(iconDirs[i].startsWith(QDir::homePath()) ? "/.icons/" : "/icons/");
-        themeIndex.setFileName(iconDirs[i] + contentDir + themeName + QLatin1String("/index.theme"));
-    }
-
-    if (themeIndex.exists()) {
-        QSettings indexReader(themeIndex.fileName(), QSettings::IniFormat);
-        Q_FOREACH (const QString &key, indexReader.allKeys()) {
-            if (key.endsWith("/Size")) {
-                if (int size = indexReader.value(key).toInt())
-                    dirList.insertMulti(size, key.left(key.size() - 5));
-            }
-        }
-
-        // Parent themes provide fallbacks for missing icons
-        // parents = indexReader.value(QLatin1String("Icon Theme/Inherits")).toString().split(QLatin1Char(','));
-        parents = indexReader.value(QLatin1String("Icon Theme/Inherits")).toStringList();
-
-
-    }
-
-    if (kdeVersion() >= 3) {
-        QFileInfo fileInfo(QLatin1String("/usr/share/icons/default.kde"));
-        QDir dir(fileInfo.canonicalFilePath());
-        QString defaultKDETheme = dir.exists() ? dir.dirName() : kdeVersion() == 3 ?
-                                  QString::fromLatin1("crystalsvg") : QString::fromLatin1("oxygen");
-        if (!parents.contains(defaultKDETheme) && themeName != defaultKDETheme)
-            parents.append(defaultKDETheme);
-    } else if (parents.isEmpty() && themeName != QLatin1String("hicolor")) {
-        parents.append(QLatin1String("hicolor"));
-    }
-    
-    theme = QIconTheme(dirList, parents);
-    return theme;
-}
-
-QPixmap QtIconLoaderImplementation::findIconHelper(int size, const QString &themeName,
-                                                   const QString &iconName, QStringList &visited) const
-{
-    QPixmap pixmap;
-    
-    if (!themeName.isEmpty()) {
-        visited << themeName;
-        QIconTheme theme = themeList.value(themeName);
-        
-        if (!theme.isValid()) {
-            theme = parseIndexFile(themeName);
-            themeList.insert(themeName, theme);
-        }
-        
-        if (!theme.isValid())
-            return QPixmap();
-        
-        QList <QString> subDirs = theme.dirList().values(size);
-        
-        for ( int i = 0 ; i < iconDirs.size() ; ++i) {
-            for ( int j = 0 ; j < subDirs.size() ; ++j) {
-                QString contentDir = (iconDirs[i].startsWith(QDir::homePath())) ?
-                                     QLatin1String("/.icons/") : QLatin1String("/icons/");
-                QString fileName = iconDirs[i] + contentDir + themeName + QLatin1Char('/') + subDirs[j] + QLatin1Char('/') + iconName;
-
-                QString svgExtension(QLatin1String(".svg"));
-                QString svgFilename = fileName + svgExtension;
-                QFile svgFile(svgFilename);
-                if (false && svgFile.exists()) {
-                    // qDebug() << "Found svg";
-                    pixmap.load(svgFilename);
-                } else {
-                    QString pngExtension(QLatin1String(".png"));
-                    QString pngFilename = fileName + pngExtension;
-                    QFile pngFile(pngFilename);
-                    if (pngFile.exists()) {
-                        // qDebug() << "Found png";
-                        pixmap.load(pngFilename);
-                    }
-                }
-
-                if (!pixmap.isNull())
-                    break;
-            }
-        }
-        
-        if (pixmap.isNull()) {
-            QStringList parents = theme.parents();
-            //search recursively through inherited themes
-            for (int i = 0 ; pixmap.isNull() && i < parents.size() ; ++i) {
-                QString parentTheme = parents[i].trimmed();
-                if (!visited.contains(parentTheme)) //guard against endless recursion
-                    pixmap = findIconHelper(size, parentTheme, iconName, visited);
-            }
-        }
-    }
-    return pixmap;
-}
-
-QPixmap QtIconLoaderImplementation::findIcon(int size, const QString &name) const
-{
-    QPixmap pixmap;
-    QString pixmapName = QLatin1String("$qt") + name + QString::number(size);
-    if (QPixmapCache::find(pixmapName, pixmap))
-        return pixmap;
-    
-    if (!themeName.isEmpty()) {
-        QStringList visited;
-        pixmap = findIconHelper(size, themeName, name, visited);
-    }
-    QPixmapCache::insert(pixmapName, pixmap);
-    return pixmap;
-}
-#endif //Q_WS_X11
index 75ded5307e5bb7e6fbcd2c932c1d1dacc62ae686..b975411159ff0ef638b3d557c6086363e969c778 100644 (file)
@@ -19,6 +19,7 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $END_LICENSE */
 
 #include "iconutils.h"
+#include <QAction>
 
 QIcon IconUtils::fromTheme(const QString &name) {
     const QLatin1String symbolic("-symbolic");
@@ -32,9 +33,9 @@ QIcon IconUtils::fromTheme(const QString &name) {
 QIcon IconUtils::fromResources(const QString &name) {
     QIcon icon = QIcon(QString(":/images/%1.png").arg(name));
     if (!icon.isNull()) {
-        icon.addPixmap(QString(":/images/%1_active.png").arg(name), QIcon::Active);
-        icon.addPixmap(QString(":/images/%1_selected.png").arg(name), QIcon::Selected);
-        icon.addPixmap(QString(":/images/%1_disabled.png").arg(name), QIcon::Disabled);
+        icon.addPixmap(IconUtils::pixmap(QString(":/images/%1_active.png").arg(name)), QIcon::Active);
+        icon.addPixmap(IconUtils::pixmap(QString(":/images/%1_selected.png").arg(name)), QIcon::Selected);
+        icon.addPixmap(IconUtils::pixmap(QString(":/images/%1_disabled.png").arg(name)), QIcon::Disabled);
     }
     return icon;
 }
@@ -51,7 +52,7 @@ QIcon IconUtils::icon(const QString &name) {
 
 QIcon IconUtils::icon(const QStringList &names) {
     QIcon icon;
-    foreach (QString name, names) {
+    foreach (const QString &name, names) {
         icon = IconUtils::icon(name);
         if (!icon.availableSizes().isEmpty()) break;
     }
@@ -62,7 +63,7 @@ QIcon IconUtils::tintedIcon(const QString &name, const QColor &color, QList<QSiz
     QIcon i = IconUtils::icon(name);
     QIcon t;
     if (sizes.isEmpty()) sizes = i.availableSizes();
-    foreach (QSize size, sizes) {
+    foreach (const QSize &size, sizes) {
         QPixmap pixmap = i.pixmap(size);
         QImage tintedImage = tinted(pixmap.toImage(), color);
         t.addPixmap(QPixmap::fromImage(tintedImage));
@@ -109,3 +110,19 @@ void IconUtils::setupAction(QAction *action) {
                              action->shortcut().toString(QKeySequence::NativeText) +
                              ")");
 }
+
+QPixmap IconUtils::pixmap(const QString &name) {
+    // Check if a "@2x" file exists
+    QString fileName = name;
+    if (qApp->devicePixelRatio() > 1.0) {
+        int dotIndex = fileName.lastIndexOf(QLatin1Char('.'));
+        if (dotIndex != -1) {
+            QString at2xfileName = fileName;
+            at2xfileName.insert(dotIndex, QStringLiteral("@2x"));
+            if (QFile::exists(at2xfileName))
+                fileName = at2xfileName;
+        }
+    }
+
+    return QPixmap(fileName);
+}
index 398fc4ca923ae61119204765b9561a6f65b9c509..851841268c65a413fc4cd0c822d8b2f495a325c6 100644 (file)
@@ -35,6 +35,10 @@ public:
     static QIcon tintedIcon(const QString &name, const QColor &color, const QSize &size);
     static void setupAction(QAction *action);
 
+    // HiDPI stuff
+    static QPixmap pixmap(const QString &name);
+    static qreal maxSupportedPixelRatio() { return 2.0; }
+
 private:
     IconUtils() { }
     static QImage grayscaled(const QImage &image);
index 0d39dfbf5bc8e6774c393919d22941b4d60043c3..67077ef720c83212b7c59213cbc2300fc15adee5 100644 (file)
@@ -20,8 +20,9 @@ $END_LICENSE */
 
 #include "jsfunctions.h"
 #include "networkaccess.h"
-#include <QDesktopServices>
 #include "constants.h"
+#include "compatibility/qurlqueryhelper.h"
+#include "compatibility/pathsservice.h"
 
 namespace The {
 NetworkAccess* http();
@@ -64,18 +65,16 @@ QString JsFunctions::jsFilename() {
 }
 
 QString JsFunctions::jsPath() {
-    return QString(
-            #if QT_VERSION >= 0x050000
-                QStandardPaths::writableLocation(QStandardPaths::DataLocation)
-            #else
-                QDesktopServices::storageLocation(QDesktopServices::DataLocation)
-            #endif
-                + "/" + jsFilename());
+    return Paths::getDataLocation() + "/" + jsFilename();
 }
 
 void JsFunctions::loadJs() {
     QUrl url(this->url);
-    url.addQueryItem("v", Constants::VERSION);
+    {
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("v", Constants::VERSION);
+    }
+
     NetworkReply* reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(gotJs(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(errorJs(QNetworkReply*)));
@@ -86,6 +85,10 @@ void JsFunctions::gotJs(const QByteArray &bytes) {
         qWarning() << "Got empty js";
         return;
     }
+    if (!QDir().mkpath(Paths::getDataLocation())) {
+      qCritical() << "Failed to create" << Paths::getDataLocation();
+      return;
+    }
     QFile file(jsPath());
     if (!file.open(QIODevice::WriteOnly)) {
         qWarning() << "Cannot write" << file.errorString() << file.fileName();
index 6ba8af106b7b1a43fd86fab82b47bdfbe49a7d4b..0f030d983e467f0ac100cd90f29e08632f20207d 100644 (file)
@@ -45,6 +45,8 @@ LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
     descriptionLabel->setForegroundRole(QPalette::Text);
     descriptionLabel->setWordWrap(true);
     descriptionLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding);
+    descriptionLabel->setTextFormat(Qt::RichText);
+    descriptionLabel->setOpenExternalLinks(true);
     layout->addWidget(descriptionLabel);
 
     progressBar = new QProgressBar(this);
@@ -64,14 +66,15 @@ void LoadingWidget::setVideo(Video *video) {
     QFont titleFont;
 #ifdef APP_MAC
     titleFont.setFamily("Helvetica Neue");
-#endif
-#ifdef APP_WIN
+    titleFont.setStyleName("Thin");
+#elif APP_WIN
     titleFont.setFamily("Segoe UI Light");
-#endif
     titleFont.setStyleName("Light");
+#else
+    titleFont.setStyleName("Light");
+#endif
     int smallerDimension = qMin(height(), width());
     titleFont.setPixelSize(smallerDimension / 12);
-    titleFont.setHintingPreference(QFont::PreferNoHinting);
     QFontMetrics fm(titleFont);
     int textHeightInPixels = fm.height();
     int spacing = textHeightInPixels / 2;
@@ -80,9 +83,13 @@ void LoadingWidget::setVideo(Video *video) {
 
     QString title = video->title();
     // enhance legibility by splitting the title
-    title = title.replace(" - ", "<p>");
-    title = title.replace("] ", "]<p>");
-    title = title.replace(" [", "<p>[");
+    title.replace(QLatin1String(" - "), QLatin1String("<p>"));
+    title.replace(QLatin1String(" | "), QLatin1String("<p>"));
+    title.replace(QLatin1String(" — "), QLatin1String("<p>"));
+    title.replace(QLatin1String("] "), QLatin1String("]<p>"));
+    title.replace(QLatin1String(" ["), QLatin1String("<p>["));
+    title.replace(QLatin1String(" ("), QLatin1String("<p>("));
+    title.replace(QLatin1String(") "), QLatin1String(")<p>"));
     titleLabel->setText(title);
     titleLabel->setVisible(window()->height() > 100);
     titleLabel->setFont(titleFont);
@@ -91,11 +98,15 @@ void LoadingWidget::setVideo(Video *video) {
     QString videoDesc = video->description();
     if (videoDesc.length() > maxDescLength) {
         videoDesc.truncate(maxDescLength-1);
-        videoDesc.append("...");
+        videoDesc = videoDesc.trimmed();
+        videoDesc.append("…");
+    } else if (videoDesc.endsWith(QLatin1String(" ..."))) {
+        videoDesc = videoDesc.left(videoDesc.length() - 4);
+        videoDesc.append("…");
     }
+    videoDesc.replace(QRegExp("(https?://\\S+)"), "<a style='color:white' href=\"\\1\">\\1</a>");
     QFont descFont(titleFont);
     descFont.setPixelSize(descFont.pixelSize() / 2);
-    descFont.setHintingPreference(QFont::PreferNoHinting);
     descriptionLabel->setFont(descFont);
     descriptionLabel->setText(videoDesc);
     bool hiddenDesc = height() < 400;
@@ -110,7 +121,7 @@ void LoadingWidget::setVideo(Video *video) {
     startTime.start();
 }
 
-void LoadingWidget::setError(QString message) {
+void LoadingWidget::setError(const QString &message) {
     titleLabel->setText(tr("Error"));
     descriptionLabel->setText(message);
     // progressBar->hide();
index 4c7a2d36baf554bfde488826f11d02d7276aa9e0..21f0f19d8e6f884d538c7073629dc0fa3bbcbf8c 100644 (file)
@@ -34,7 +34,7 @@ class LoadingWidget : public QWidget {
 public:
     LoadingWidget(QWidget *parent);
     void setVideo(Video *video);
-    void setError(QString message);
+    void setError(const QString &message);
     void clear();
 
 public slots:
index 131c17cb664a031c7ec0f676ab1a6319d2815fa6..b462138da9382eaa86cb38336696e3d9af672b9a 100644 (file)
@@ -36,7 +36,6 @@ $END_LICENSE */
 
 void showWindow(QtSingleApplication &app, const QString &dataDir) {
     MainWindow *mainWin = new MainWindow();
-    mainWin->show();
 
 #ifndef APP_MAC
     QIcon appIcon;
@@ -58,6 +57,8 @@ void showWindow(QtSingleApplication &app, const QString &dataDir) {
     mainWin->connect(&app, SIGNAL(messageReceived(const QString &)),
                     mainWin, SLOT(messageReceived(const QString &)));
     app.setActivationWindow(mainWin, true);
+
+    mainWin->show();
 }
 
 int main(int argc, char **argv) {
@@ -81,9 +82,8 @@ int main(int argc, char **argv) {
     app.setOrganizationDomain(Constants::ORG_DOMAIN);
     app.setApplicationVersion(Constants::VERSION);
     app.setAttribute(Qt::AA_DontShowIconsInMenus);
-#ifndef APP_WIN
     app.setWheelScrollLines(1);
-#endif
+    app.setAttribute(Qt::AA_UseHighDpiPixmaps);
 
 #ifdef APP_EXTRA
     Extra::appSetup(&app);
@@ -128,10 +128,7 @@ int main(int argc, char **argv) {
     // all string literals are UTF-8
     // QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
 
-#ifdef APP_INTEGRITY
-    if (Extra::integrityCheck())
-#endif
-        showWindow(app, dataDir);
+    showWindow(app, dataDir);
 
     return app.exec();
 }
index 08a20a64087bff3f5e8f14c279454a921e03b468..437571638bc72698518282238b8f8b3b42d1ebc0 100644 (file)
@@ -34,7 +34,7 @@ $END_LICENSE */
 #include "searchparams.h"
 #include "videosource.h"
 #include "ytsearch.h"
-#ifdef Q_OS_LINUX
+#ifdef APP_LINUX
 #include "gnomeglobalshortcutbackend.h"
 #endif
 #ifdef Q_OS_MAC
@@ -47,11 +47,14 @@ $END_LICENSE */
 #include "ytsuggester.h"
 #include "updatechecker.h"
 #include "temporary.h"
-#ifdef APP_MAC
+#if defined(APP_MAC_SEARCHFIELD) && !defined(APP_MAC_QMACTOOLBAR)
 #include "searchlineedit_mac.h"
 #else
 #include "searchlineedit.h"
 #endif
+#ifdef APP_MAC_QMACTOOLBAR
+#include "mactoolbar.h"
+#endif
 #include <iostream>
 #ifdef APP_EXTRA
 #include "extra.h"
@@ -87,12 +90,14 @@ MainWindow::MainWindow() :
     aboutView(0),
     downloadView(0),
     regionsView(0),
+    mainToolBar(0),
     #ifdef APP_PHONON
     mediaObject(0),
     audioOutput(0),
     #endif
-    m_fullscreen(false),
-    m_compact(false) {
+    fullscreenFlag(false),
+    m_compact(false),
+    initialized(false) {
 
     singleton = this;
 
@@ -101,11 +106,21 @@ MainWindow::MainWindow() :
 #endif
 
     // views mechanism
-    history = new QStack<QWidget*>();
     views = new QStackedWidget();
     views->hide();
     setCentralWidget(views);
 
+    messageLabel = new QLabel();
+    messageLabel->setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint);
+    messageLabel->setStyleSheet("padding:5px;border:1px solid #808080;background:palette(window)");
+    messageLabel->hide();
+    adjustMessageLabelPosition();
+    messageTimer = new QTimer(this);
+    messageTimer->setInterval(5000);
+    messageTimer->setSingleShot(true);
+    connect(messageTimer, SIGNAL(timeout()), messageLabel, SLOT(hide()));
+    connect(messageTimer, SIGNAL(timeout()), messageLabel, SLOT(clear()));
+
     // views
     homeView = new HomeView();
     views->addWidget(homeView);
@@ -137,6 +152,8 @@ MainWindow::MainWindow() :
         views->widget(i)->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
     setMinimumWidth(0);
 
+    views->show();
+
     // show the initial view
     showHome(false);
 
@@ -145,14 +162,7 @@ MainWindow::MainWindow() :
         showActivationView(false);
 #endif
 
-    views->show();
-
-    qApp->processEvents();
-    QTimer::singleShot(50, this, SLOT(lazyInit()));
-}
-
-MainWindow::~MainWindow() {
-    delete history;
+    QTimer::singleShot(0, this, SLOT(lazyInit()));
 }
 
 void MainWindow::lazyInit() {
@@ -180,7 +190,7 @@ void MainWindow::lazyInit() {
 
     // Global shortcuts
     GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
-#ifdef Q_OS_LINUX
+#ifdef APP_LINUX
     if (GnomeGlobalShortcutBackend::IsGsdAvailable())
         shortcuts.setBackend(new GnomeGlobalShortcutBackend(&shortcuts));
 #endif
@@ -207,59 +217,78 @@ void MainWindow::lazyInit() {
 
     JsFunctions::instance();
 
+    // Hack to give focus to searchlineedit
+    QMetaObject::invokeMethod(views->currentWidget(), "appear");
+    View* view = qobject_cast<View *> (views->currentWidget());
+    QString desc = view->metadata().value("description").toString();
+    if (!desc.isEmpty()) showMessage(desc);
+
+#ifdef APP_INTEGRITY
+    if (!Extra::integrityCheck()) {
+        deleteLater();
+        return;
+    }
+#endif
+
+    ChannelAggregator::instance()->start();
+
     checkForUpdate();
+
+    initialized = true;
 }
 
-void MainWindow::changeEvent(QEvent* event) {
+void MainWindow::changeEvent(QEvent *e) {
 #ifdef APP_MAC
-    if (event->type() == QEvent::WindowStateChange) {
+    if (e->type() == QEvent::WindowStateChange) {
         The::globalActions()->value("minimize")->setEnabled(!isMinimized());
     }
 #endif
-    QMainWindow::changeEvent(event);
+    QMainWindow::changeEvent(e);
 }
 
-bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
-
-    if (m_fullscreen && event->type() == QEvent::MouseMove) {
+bool MainWindow::eventFilter(QObject *obj, QEvent *e) {
 
-        QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (event);
-        const int x = mouseEvent->pos().x();
-        const QString className = QString(obj->metaObject()->className());
+    if (fullscreenFlag && e->type() == QEvent::MouseMove) {
+        const char *className = obj->metaObject()->className();
         const bool isHoveringVideo =
                 (className == QLatin1String("QGLWidget")) ||
                 (className == QLatin1String("VideoAreaWidget"));
 
         // qDebug() << obj << mouseEvent->pos() << isHoveringVideo << mediaView->isPlaylistVisible();
 
-        if (mediaView && mediaView->isPlaylistVisible()) {
-            if (isHoveringVideo && x > 5) mediaView->setPlaylistVisible(false);
-        } else {
-            if (isHoveringVideo && x >= 0 && x < 5) mediaView->setPlaylistVisible(true);
-        }
+        if (isHoveringVideo) {
+            QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (e);
+            const int x = mouseEvent->pos().x();
+
+            if (mediaView->isPlaylistVisible()) {
+                if (x > 5) mediaView->setPlaylistVisible(false);
+            } else {
+                if (x >= 0 && x < 5) mediaView->setPlaylistVisible(true);
+            }
 
 #ifndef APP_MAC
-        const int y = mouseEvent->pos().y();
-        if (mainToolBar->isVisible()) {
-            if (isHoveringVideo && y > 5) mainToolBar->setVisible(false);
-        } else {
-            if (isHoveringVideo && y >= 0 && y < 5) mainToolBar->setVisible(true);
-        }
+            const int y = mouseEvent->pos().y();
+            if (mainToolBar->isVisible()) {
+                if (y > 5) mainToolBar->setVisible(false);
+            } else {
+                if (y >= 0 && y < 5) mainToolBar->setVisible(true);
+            }
 #endif
 
+        }
+
         // show the normal cursor
         unsetCursor();
         // then hide it again after a few seconds
         mouseTimer->start();
-
     }
 
-    if (event->type() == QEvent::ToolTip) {
+    if (e->type() == QEvent::ToolTip) {
         // kill tooltips
         return true;
     }
     // standard event processing
-    return QMainWindow::eventFilter(obj, event);
+    return QMainWindow::eventFilter(obj, e);
 }
 
 void MainWindow::createActions() {
@@ -438,7 +467,7 @@ void MainWindow::createActions() {
     addAction(volumeMuteAct);
 
     QAction *definitionAct = new QAction(this);
-#ifdef Q_OS_LINUX
+#ifdef APP_LINUX
     definitionAct->setIcon(IconUtils::tintedIcon("video-display", QColor(0, 0, 0),
                                                  QList<QSize>() << QSize(16, 16)));
 #else
@@ -470,7 +499,6 @@ void MainWindow::createActions() {
     action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_J));
     action->setCheckable(true);
     action->setIcon(IconUtils::icon("document-save"));
-    action->setVisible(false);
     connect(action, SIGNAL(toggled(bool)), SLOT(toggleDownloads(bool)));
     actions->insert("downloads", action);
 
@@ -541,6 +569,11 @@ void MainWindow::createActions() {
     actions->insert("ontop", action);
     connect(action, SIGNAL(toggled(bool)), SLOT(floatOnTop(bool)));
 
+    action = new QAction(tr("&Adjust Window Size"), this);
+    action->setCheckable(true);
+    actions->insert("adjustwindowsize", action);
+    connect(action, SIGNAL(toggled(bool)), SLOT(adjustWindowSizeChanged(bool)));
+
     action = new QAction(IconUtils::icon("media-playback-stop"), tr("&Stop After This Video"), this);
     action->setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Escape));
     action->setCheckable(true);
@@ -601,7 +634,6 @@ void MainWindow::createActions() {
 }
 
 void MainWindow::createMenus() {
-
     QHash<QString, QMenu*> *menus = The::globalMenus();
 
     fileMenu = menuBar()->addMenu(tr("&Application"));
@@ -662,6 +694,8 @@ void MainWindow::createMenus() {
     viewMenu->addAction(fullscreenAct);
     viewMenu->addAction(compactViewAct);
     viewMenu->addSeparator();
+    viewMenu->addAction(The::globalActions()->value("adjustwindowsize"));
+    viewMenu->addSeparator();
     viewMenu->addAction(The::globalActions()->value("ontop"));
 
     QMenu* shareMenu = menuBar()->addMenu(tr("&Share"));
@@ -694,13 +728,65 @@ void MainWindow::createMenus() {
 
 void MainWindow::createToolBars() {
 
-    setUnifiedTitleAndToolBarOnMac(true);
+    // Create widgets
+
+    currentTime = new QLabel("00:00");
+    currentTime->setFont(FontUtils::small());
+
+#ifdef APP_PHONON_SEEK
+    seekSlider = new Phonon::SeekSlider();
+    seekSlider->setTracking(true);
+    seekSlider->setIconVisible(false);
+    seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+#else
+    slider = new SeekSlider(this);
+    slider->setEnabled(false);
+    slider->setTracking(false);
+    slider->setMaximum(1000);
+    slider->setOrientation(Qt::Horizontal);
+    slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+#endif
+
+#ifdef APP_PHONON
+    volumeSlider = new Phonon::VolumeSlider();
+    volumeSlider->setMuteVisible(false);
+    // qDebug() << volumeSlider->children();
+    // status tip for the volume slider
+    QSlider* volumeQSlider = volumeSlider->findChild<QSlider*>();
+    if (volumeQSlider)
+        volumeQSlider->setStatusTip(tr("Press %1 to raise the volume, %2 to lower it").arg(
+                                        volumeUpAct->shortcut().toString(QKeySequence::NativeText), volumeDownAct->shortcut().toString(QKeySequence::NativeText)));
+    // this makes the volume slider smaller
+    volumeSlider->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+#endif
+
+#if defined(APP_MAC_SEARCHFIELD) && !defined(APP_MAC_QMACTOOLBAR)
+    SearchWrapper* searchWrapper = new SearchWrapper(this);
+    toolbarSearch = searchWrapper->getSearchLineEdit();
+#else
+    toolbarSearch = new SearchLineEdit(this);
+#endif
+    toolbarSearch->setMinimumWidth(toolbarSearch->fontInfo().pixelSize()*15);
+    toolbarSearch->setSuggester(new YTSuggester(this));
+    connect(toolbarSearch, SIGNAL(search(const QString&)), SLOT(search(const QString&)));
+    connect(toolbarSearch, SIGNAL(suggestionAccepted(Suggestion*)), SLOT(suggestionAccepted(Suggestion*)));
+    toolbarSearch->setStatusTip(searchFocusAct->statusTip());
+
+    // Add widgets to toolbar
+
+#ifdef APP_MAC_QMACTOOLBAR
+    currentTime->hide();
+    toolbarSearch->hide();
+    volumeSlider->hide();
+    seekSlider->hide();
+    MacToolbar::instance().createToolbar(this);
+    return;
+#endif
 
     mainToolBar = new QToolBar(this);
     mainToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly);
     mainToolBar->setFloatable(false);
     mainToolBar->setMovable(false);
-
 #if defined(APP_MAC) | defined(APP_WIN)
     mainToolBar->setIconSize(QSize(32, 32));
 #endif
@@ -708,7 +794,6 @@ void MainWindow::createToolBars() {
     mainToolBar->addAction(stopAct);
     mainToolBar->addAction(pauseAct);
     mainToolBar->addAction(skipAct);
-
     mainToolBar->addAction(The::globalActions()->value("related-videos"));
     mainToolBar->addAction(The::globalActions()->value("download"));
 
@@ -719,27 +804,11 @@ void MainWindow::createToolBars() {
     if (addFullScreenAct) mainToolBar->addAction(fullscreenAct);
 
     mainToolBar->addWidget(new Spacer());
-
-    QFont smallerFont = FontUtils::small();
-    currentTime = new QLabel(mainToolBar);
-    currentTime->setFont(smallerFont);
     mainToolBar->addWidget(currentTime);
-
     mainToolBar->addWidget(new Spacer());
-
 #ifdef APP_PHONON_SEEK
-    seekSlider = new Phonon::SeekSlider(this);
-    seekSlider->setTracking(true);
-    seekSlider->setIconVisible(false);
-    seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
     mainToolBar->addWidget(seekSlider);
 #else
-    slider = new SeekSlider(this);
-    slider->setEnabled(false);
-    slider->setTracking(false);
-    slider->setMaximum(1000);
-    slider->setOrientation(Qt::Horizontal);
-    slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
     mainToolBar->addWidget(slider);
 #endif
 
@@ -752,39 +821,18 @@ void MainWindow::createToolBars() {
 
     mainToolBar->addWidget(new Spacer());
     mainToolBar->addAction(volumeMuteAct);
-#ifdef Q_WS_X11
+#ifdef APP_LINUX
     QToolButton *volumeMuteButton = qobject_cast<QToolButton *>(mainToolBar->widgetForAction(volumeMuteAct));
     volumeMuteButton->setIcon(volumeMuteButton->icon().pixmap(16));
 #endif
 
 #ifdef APP_PHONON
-    volumeSlider = new Phonon::VolumeSlider(this);
-    volumeSlider->setMuteVisible(false);
-    // qDebug() << volumeSlider->children();
-    // status tip for the volume slider
-    QSlider* volumeQSlider = volumeSlider->findChild<QSlider*>();
-    if (volumeQSlider)
-        volumeQSlider->setStatusTip(tr("Press %1 to raise the volume, %2 to lower it").arg(
-                                        volumeUpAct->shortcut().toString(QKeySequence::NativeText), volumeDownAct->shortcut().toString(QKeySequence::NativeText)));
-    // this makes the volume slider smaller
-    volumeSlider->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     mainToolBar->addWidget(volumeSlider);
 #endif
 
     mainToolBar->addWidget(new Spacer());
 
-#ifdef APP_MAC
-    SearchWrapper* searchWrapper = new SearchWrapper(this);
-    toolbarSearch = searchWrapper->getSearchLineEdit();
-#else
-    toolbarSearch = new SearchLineEdit(this);
-#endif
-    toolbarSearch->setMinimumWidth(toolbarSearch->fontInfo().pixelSize()*15);
-    toolbarSearch->setSuggester(new YTSuggester(this));
-    connect(toolbarSearch, SIGNAL(search(const QString&)), SLOT(search(const QString&)));
-    connect(toolbarSearch, SIGNAL(suggestionAccepted(Suggestion*)), SLOT(suggestionAccepted(Suggestion*)));
-    toolbarSearch->setStatusTip(searchFocusAct->statusTip());
-#ifdef APP_MAC
+#if defined(APP_MAC_SEARCHFIELD) && !defined(APP_MAC_QMACTOOLBAR)
     mainToolBar->addWidget(searchWrapper);
 #else
     mainToolBar->addWidget(toolbarSearch);
@@ -798,18 +846,12 @@ void MainWindow::createStatusBar() {
     statusToolBar = new QToolBar(this);
     statusToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
     statusToolBar->setIconSize(QSize(16, 16));
-    statusToolBar->addAction(The::globalActions()->value("downloads"));
 
-    regionButton = new QToolButton(this);
-    regionButton->setStatusTip(tr("Choose your content location"));
-    regionButton->setIconSize(QSize(16, 16));
-    regionButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
-    regionAction = statusToolBar->addWidget(regionButton);
-    regionAction->setVisible(false);
+    regionAction = new QAction(this);
+    regionAction->setStatusTip(tr("Choose your content location"));
 
     QAction *localAction = The::globalActions()->value("local-region");
     if (!localAction->text().isEmpty()) {
-        regionButton->setPopupMode(QToolButton::InstantPopup);
         QMenu *regionMenu = new QMenu(this);
         regionMenu->addAction(The::globalActions()->value("worldwide-region"));
         regionMenu->addAction(localAction);
@@ -817,9 +859,9 @@ void MainWindow::createStatusBar() {
         QAction *moreRegionsAction = The::globalActions()->value("more-region");
         regionMenu->addAction(moreRegionsAction);
         connect(moreRegionsAction, SIGNAL(triggered()), SLOT(showRegionsView()));
-        regionButton->setMenu(regionMenu);
+        regionAction->setMenu(regionMenu);
     } else {
-        connect(regionButton, SIGNAL(clicked()), SLOT(showRegionsView()));
+        connect(regionAction, SIGNAL(triggered()), SLOT(showRegionsView()));
     }
 
     /* Stupid code that generates the QRC items
@@ -827,10 +869,7 @@ void MainWindow::createStatusBar() {
         qDebug() << QString("<file>flags/%1.png</file>").arg(r.id.toLower());
     */
 
-    statusToolBar->addAction(The::globalActions()->value("definition"));
-
     statusBar()->addPermanentWidget(statusToolBar);
-    statusBar()->show();
 }
 
 void MainWindow::showStopAfterThisInStatusBar(bool show) {
@@ -844,11 +883,25 @@ void MainWindow::showActionInStatusBar(QAction* action, bool show) {
 #endif
     if (show) {
         statusToolBar->insertAction(statusToolBar->actions().first(), action);
+        if (statusBar()->isHidden() && !fullscreenFlag)
+            setStatusBarVisibility(true);
     } else {
         statusToolBar->removeAction(action);
+        if (statusBar()->isVisible() && !needStatusBar())
+            setStatusBarVisibility(false);
     }
 }
 
+void MainWindow::setStatusBarVisibility(bool show) {
+    statusBar()->setVisible(show);
+    if (views->currentWidget() == mediaView)
+        QTimer::singleShot(0, mediaView, SLOT(maybeAdjustWindowSize()));
+}
+
+void MainWindow::adjustStatusBarVisibility() {
+    setStatusBarVisibility(needStatusBar());
+}
+
 void MainWindow::readSettings() {
     QSettings settings;
     if (settings.contains("geometry")) {
@@ -857,16 +910,28 @@ void MainWindow::readSettings() {
         MacSupport::fixGeometry(this);
 #endif
     } else {
-        setGeometry(100, 100, 1000, 500);
+        const QRect desktopSize = qApp->desktop()->availableGeometry();
+        int w = qMin(2000, desktopSize.width());
+        int h = qMin(w / 3, desktopSize.height());
+        setGeometry(
+                    QStyle::alignedRect(
+                        Qt::LeftToRight,
+                        Qt::AlignTop,
+                        QSize(w, h),
+                        desktopSize)
+                    );
     }
-    setDefinitionMode(settings.value("definition", VideoDefinition::getDefinitionNames().first()).toString());
+    const VideoDefinition& firstDefinition = VideoDefinition::getDefinitions().first();
+    setDefinitionMode(settings.value("definition", firstDefinition.getName()).toString());
     The::globalActions()->value("manualplay")->setChecked(settings.value("manualplay", false).toBool());
+    The::globalActions()->value("adjustwindowsize")->setChecked(settings.value("adjustWindowSize", true).toBool());
 }
 
 void MainWindow::writeSettings() {
     QSettings settings;
 
-    settings.setValue("geometry", saveGeometry());
+    if (!isReallyFullScreen())
+        settings.setValue("geometry", saveGeometry());
     mediaView->saveSplitterState();
 
 #ifdef APP_PHONON
@@ -879,39 +944,54 @@ void MainWindow::writeSettings() {
 }
 
 void MainWindow::goBack() {
-    if ( history->size() > 1 ) {
-        history->pop();
-        QWidget *widget = history->pop();
+    if (history.size() > 1) {
+        history.pop();
+        QWidget *widget = history.pop();
         showWidget(widget);
     }
 }
 
 void MainWindow::showWidget(QWidget* widget, bool transition) {
+    Q_UNUSED(transition);
 
     if (compactViewAct->isChecked())
         compactViewAct->toggle();
 
-    setUpdatesEnabled(false);
-
     // call hide method on the current view
-    View* oldView = dynamic_cast<View *> (views->currentWidget());
+    View* oldView = qobject_cast<View *> (views->currentWidget());
     if (oldView) {
         oldView->disappear();
         views->currentWidget()->setEnabled(false);
     } else qDebug() << "Cannot cast view";
 
+    const bool isMediaView = widget == mediaView;
+
+    stopAct->setEnabled(isMediaView);
+    compactViewAct->setEnabled(isMediaView);
+    toolbarSearch->setEnabled(widget == homeView || isMediaView || widget == downloadView);
+
+    aboutAct->setEnabled(widget != aboutView);
+    The::globalActions()->value("downloads")->setChecked(widget == downloadView);
+
+    QWidget *oldWidget = views->currentWidget();
+    if (oldWidget)
+        oldWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+
+    views->setCurrentWidget(widget);
+    widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+
     // call show method on the new view
-    View* newView = dynamic_cast<View *> (widget);
+    View* newView = qobject_cast<View *> (widget);
     if (newView) {
         widget->setEnabled(true);
         QHash<QString,QVariant> metadata = newView->metadata();
+
         QString title = metadata.value("title").toString();
         if (title.isEmpty()) title = Constants::NAME;
         else title += QLatin1String(" - ") + Constants::NAME;
         setWindowTitle(title);
-        QString desc = metadata.value("description").toString();
-        if (!desc.isEmpty()) showMessage(desc);
-        newView->appear();
+
+        statusToolBar->setUpdatesEnabled(false);
 
         // dynamic view actions
         foreach (QAction* action, viewActions)
@@ -920,33 +1000,20 @@ void MainWindow::showWidget(QWidget* widget, bool transition) {
         foreach (QAction* action, viewActions)
             showActionInStatusBar(action, true);
 
-    }
-
-    const bool isMediaView = widget == mediaView;
-
-    stopAct->setEnabled(isMediaView);
-    compactViewAct->setEnabled(isMediaView);
-    toolbarSearch->setEnabled(widget == homeView || isMediaView || widget == downloadView);
-
-    aboutAct->setEnabled(widget != aboutView);
-    The::globalActions()->value("downloads")->setChecked(widget == downloadView);
-
-    QWidget *oldWidget = views->currentWidget();
-    if (oldWidget)
-        oldWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+        newView->appear();
 
-    views->setCurrentWidget(widget);
-    widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+        adjustStatusBarVisibility();
+        messageLabel->hide();
 
-    setUpdatesEnabled(true);
+        statusToolBar->setUpdatesEnabled(true);
 
-#ifdef APP_EXTRA
-    // if (transition && (oldWidget != mediaView || !mediaView->getVideoArea()->isVideoShown()))
-    if (transition)
-        Extra::fadeInWidget(oldWidget, widget);
-#endif
+        /*
+        QString desc = metadata.value("description").toString();
+        if (!desc.isEmpty()) showMessage(desc);
+        */
+    }
 
-    history->push(widget);
+    history.push(widget);
 }
 
 void MainWindow::about() {
@@ -959,13 +1026,13 @@ void MainWindow::about() {
 
 void MainWindow::visitSite() {
     QUrl url(Constants::WEBSITE);
-    statusBar()->showMessage(QString(tr("Opening %1").arg(url.toString())));
+    showMessage(QString(tr("Opening %1").arg(url.toString())));
     QDesktopServices::openUrl(url);
 }
 
 void MainWindow::donate() {
     QUrl url(QString(Constants::WEBSITE) + "#donate");
-    statusBar()->showMessage(QString(tr("Opening %1").arg(url.toString())));
+    showMessage(QString(tr("Opening %1").arg(url.toString())));
     QDesktopServices::openUrl(url);
 }
 
@@ -981,7 +1048,7 @@ void MainWindow::quit() {
     }
 #endif
     // do not save geometry when in full screen or in compact mode
-    if (!m_fullscreen && !compactViewAct->isChecked()) {
+    if (!fullscreenFlag && !compactViewAct->isChecked()) {
         writeSettings();
     }
     // mediaView->stop();
@@ -992,24 +1059,32 @@ void MainWindow::quit() {
     qApp->quit();
 }
 
-void MainWindow::closeEvent(QCloseEvent *event) {
+void MainWindow::closeEvent(QCloseEvent *e) {
 #ifdef APP_MAC
     mac::closeWindow(winId());
-    event->ignore();
+    e->ignore();
 #else
     if (!confirmQuit()) {
-        event->ignore();
+        e->ignore();
         return;
     }
-    QWidget::closeEvent(event);
+    QWidget::closeEvent(e);
     quit();
+#endif
+    messageLabel->hide();
+}
+
+void MainWindow::showEvent(QShowEvent *e) {
+    QWidget::showEvent(e);
+#ifdef APP_MAC
+    restore();
 #endif
 }
 
 bool MainWindow::confirmQuit() {
     if (DownloadManager::instance()->activeItems() > 0) {
         QMessageBox msgBox(this);
-        msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+        msgBox.setIconPixmap(IconUtils::pixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
         msgBox.setText(tr("Do you want to exit %1 with a download in progress?").arg(Constants::NAME));
         msgBox.setInformativeText(tr("If you close %1 now, this download will be cancelled.").arg(Constants::NAME));
         msgBox.setModal(true);
@@ -1055,9 +1130,9 @@ void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState
         if (mediaObject->errorType() == Phonon::FatalError) {
             // Do not display because we try to play incomplete video files and sometimes trigger this
             // We retry automatically (in MediaView) so no need to show it
-            // statusBar()->showMessage(tr("Fatal error: %1").arg(mediaObject->errorString()));
+            // showMessage(tr("Fatal error: %1").arg(mediaObject->errorString()));
         } else {
-            statusBar()->showMessage(tr("Error: %1").arg(mediaObject->errorString()));
+            showMessage(tr("Error: %1").arg(mediaObject->errorString()));
         }
         break;
 
@@ -1110,20 +1185,30 @@ void MainWindow::stop() {
     mediaView->stop();
 }
 
-void MainWindow::resizeEvent(QResizeEvent*) {
-#ifdef Q_OS_MAC
-    if (mac::CanGoFullScreen(winId())) {
+void MainWindow::resizeEvent(QResizeEvent *e) {
+    Q_UNUSED(e);
+#ifdef APP_MAC
+    if (initialized && mac::CanGoFullScreen(winId())) {
         bool isFullscreen = mac::IsFullScreen(winId());
-        if (isFullscreen != m_fullscreen) {
+        if (isFullscreen != fullscreenFlag) {
             if (compactViewAct->isChecked()) {
                 compactViewAct->setChecked(false);
                 compactView(false);
             }
-            m_fullscreen = isFullscreen;
+            fullscreenFlag = isFullscreen;
             updateUIForFullscreen();
         }
     }
 #endif
+#ifdef APP_MAC_QMACTOOLBAR
+    toolbarSearch->move(width() - toolbarSearch->width() - 13, -38);
+#endif
+    adjustMessageLabelPosition();
+}
+
+void MainWindow::moveEvent(QMoveEvent *e) {
+    Q_UNUSED(e);
+    adjustMessageLabelPosition();
 }
 
 void MainWindow::fullscreen() {
@@ -1131,18 +1216,18 @@ void MainWindow::fullscreen() {
     if (compactViewAct->isChecked())
         compactViewAct->toggle();
 
-#ifdef Q_OS_MAC
+#ifdef APP_MAC
     WId handle = winId();
     if (mac::CanGoFullScreen(handle)) {
-        mainToolBar->setVisible(true);
+        if (mainToolBar) mainToolBar->setVisible(true);
         mac::ToggleFullScreen(handle);
         return;
     }
 #endif
 
-    m_fullscreen = !m_fullscreen;
+    fullscreenFlag = !fullscreenFlag;
 
-    if (m_fullscreen) {
+    if (fullscreenFlag) {
         // Enter full screen
 
         m_maximized = isMaximized();
@@ -1151,20 +1236,20 @@ void MainWindow::fullscreen() {
         // geometry won't be saved
         writeSettings();
 
-#ifdef Q_OS_MAC
+#ifdef APP_MAC
         MacSupport::enterFullScreen(this, views);
 #else
-        mainToolBar->hide();
+        if (mainToolBar) mainToolBar->hide();
         showFullScreen();
 #endif
 
     } else {
         // Exit full screen
 
-#ifdef Q_OS_MAC
+#ifdef APP_MAC
         MacSupport::exitFullScreen(this, views);
 #else
-        mainToolBar->show();
+        if (mainToolBar) mainToolBar->show();
         if (m_maximized) showMaximized();
         else showNormal();
 #endif
@@ -1182,45 +1267,50 @@ void MainWindow::updateUIForFullscreen() {
     static QList<QKeySequence> fsShortcuts;
     static QString fsText;
 
-    if (m_fullscreen) {
+    if (fullscreenFlag) {
         fsShortcuts = fullscreenAct->shortcuts();
         fsText = fullscreenAct->text();
+        if (fsText.isEmpty()) qDebug() << "[taking Empty!]";
         fullscreenAct->setShortcuts(QList<QKeySequence>(fsShortcuts)
                                     << QKeySequence(Qt::Key_Escape));
         fullscreenAct->setText(tr("Leave &Full Screen"));
         fullscreenAct->setIcon(IconUtils::icon("view-restore"));
+        setStatusBarVisibility(false);
     } else {
         fullscreenAct->setShortcuts(fsShortcuts);
+        if (fsText.isEmpty()) fsText = "[Empty!]";
         fullscreenAct->setText(fsText);
         fullscreenAct->setIcon(IconUtils::icon("view-fullscreen"));
+
+        if (needStatusBar()) setStatusBarVisibility(true);
     }
 
     // No compact view action when in full screen
-    compactViewAct->setVisible(!m_fullscreen);
+    compactViewAct->setVisible(!fullscreenFlag);
     compactViewAct->setChecked(false);
 
     // Hide anything but the video
-    mediaView->setPlaylistVisible(!m_fullscreen);
-    statusBar()->setVisible(!m_fullscreen);
+    mediaView->setPlaylistVisible(!fullscreenFlag);
+    if (mainToolBar) mainToolBar->setVisible(!fullscreenFlag);
 
 #ifndef APP_MAC
-    menuBar()->setVisible(!m_fullscreen);
+    menuBar()->setVisible(!fullscreenFlag);
 #endif
 
-    if (m_fullscreen) {
+    if (fullscreenFlag) {
         stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
     } else {
         stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
     }
 
 #ifdef Q_OS_MAC
-    MacSupport::fullScreenActions(The::globalActions()->values(), m_fullscreen);
+    MacSupport::fullScreenActions(The::globalActions()->values(), fullscreenFlag);
 #endif
 
     if (views->currentWidget() == mediaView)
         mediaView->setFocus();
 
-    if (m_fullscreen) {
+    if (fullscreenFlag) {
         hideMouse();
     } else {
         mouseTimer->stop();
@@ -1263,9 +1353,13 @@ void MainWindow::compactView(bool enable) {
         else
             resize(320, 180);
 
+#ifdef APP_MAC_QMACTOOLBAR
+        mac::showToolBar(winId(), !enable);
+#else
         mainToolBar->setVisible(!enable);
+#endif
         mediaView->setPlaylistVisible(!enable);
-        statusBar()->setVisible(!enable);
+        statusBar()->hide();
 
         compactShortcuts = compactViewAct->shortcuts();
         stopShortcuts = stopAct->shortcuts();
@@ -1286,9 +1380,14 @@ void MainWindow::compactView(bool enable) {
         mac::SetupFullScreenWindow(winId());
 #endif
         settings.setValue(key, saveGeometry());
+#ifdef APP_MAC_QMACTOOLBAR
+        mac::showToolBar(winId(), !enable);
+#else
         mainToolBar->setVisible(!enable);
+#endif
         mediaView->setPlaylistVisible(!enable);
-        statusBar()->setVisible(!enable);
+        if (needStatusBar()) setStatusBarVisibility(true);
+
         readSettings();
 
         compactViewAct->setShortcuts(compactShortcuts);
@@ -1296,7 +1395,7 @@ void MainWindow::compactView(bool enable) {
     }
 
     // auto float on top
-    floatOnTop(enable);
+    floatOnTop(enable, false);
 
 #ifdef Q_OS_MAC
     mac::compactMode(winId(), enable);
@@ -1339,15 +1438,12 @@ void MainWindow::initPhonon() {
 #endif
 
 void MainWindow::tick(qint64 time) {
-    if (time <= 0) {
-        // the "if" is important because tick is continually called
-        // and we don't want to paint the toolbar every 100ms
-        if (!currentTime->text().isEmpty()) currentTime->clear();
-        return;
+    const QString s = formatTime(time);
+    if (s != currentTime->text()) {
+        currentTime->setText(s);
+        emit currentTimeChanged(s);
     }
 
-    currentTime->setText(formatTime(time));
-
     // remaining time
 #ifdef APP_PHONON
     const qint64 remainingTime = mediaObject->remainingTime();
@@ -1377,19 +1473,19 @@ void MainWindow::totalTimeChanged(qint64 time) {
     slider->setMaximum(time/1000);
     slider->blockSignals(false);
     */
-
 }
 
-QString MainWindow::formatTime(qint64 time) {
-    QTime displayTime;
-    displayTime = displayTime.addMSecs(time);
-    QString timeString;
-    // 60 * 60 * 1000 = 3600000
-    if (time > 3600000)
-        timeString = displayTime.toString("h:mm:ss");
-    else
-        timeString = displayTime.toString("m:ss");
-    return timeString;
+QString MainWindow::formatTime(qint64 duration) {
+    duration /= 1000;
+    QString res;
+    int seconds = (int) (duration % 60);
+    duration /= 60;
+    int minutes = (int) (duration % 60);
+    duration /= 60;
+    int hours = (int) (duration % 24);
+    if (hours == 0)
+        return res.sprintf("%02d:%02d", minutes, seconds);
+    return res.sprintf("%02d:%02d:%02d", hours, minutes, seconds);
 }
 
 void MainWindow::volumeUp() {
@@ -1442,53 +1538,59 @@ void MainWindow::volumeChanged(qreal newVolume) {
         style()->polish(volumeQSlider);
     }
 #endif
-    statusBar()->showMessage(tr("Volume at %1%").arg((int)(newVolume*100)));
+    showMessage(tr("Volume at %1%").arg((int)(newVolume*100)));
 }
 
 void MainWindow::volumeMutedChanged(bool muted) {
     if (muted) {
         volumeMuteAct->setIcon(IconUtils::icon("audio-volume-muted"));
-        statusBar()->showMessage(tr("Volume is muted"));
+        showMessage(tr("Volume is muted"));
     } else {
         volumeMuteAct->setIcon(IconUtils::icon("audio-volume-high"));
-        statusBar()->showMessage(tr("Volume is unmuted"));
+        showMessage(tr("Volume is unmuted"));
     }
-#ifdef Q_WS_X11
+#ifdef APP_LINUX
     QToolButton *volumeMuteButton = qobject_cast<QToolButton *>(mainToolBar->widgetForAction(volumeMuteAct));
     volumeMuteButton->setIcon(volumeMuteButton->icon().pixmap(16));
 #endif
 }
 
-void MainWindow::setDefinitionMode(QString definitionName) {
+void MainWindow::setDefinitionMode(const QString &definitionName) {
     QAction *definitionAct = The::globalActions()->value("definition");
     definitionAct->setText(definitionName);
     definitionAct->setStatusTip(tr("Maximum video definition set to %1").arg(definitionAct->text())
                                 + " (" +  definitionAct->shortcut().toString(QKeySequence::NativeText) + ")");
-    statusBar()->showMessage(definitionAct->statusTip());
+    showMessage(definitionAct->statusTip());
     QSettings settings;
     settings.setValue("definition", definitionName);
 }
 
 void MainWindow::toggleDefinitionMode() {
-    QSettings settings;
-    QString currentDefinition = settings.value("definition").toString();
-    QStringList definitionNames = VideoDefinition::getDefinitionNames();
-    int currentIndex = definitionNames.indexOf(currentDefinition);
-    int nextIndex = 0;
-    if (currentIndex != definitionNames.size() - 1) {
-        nextIndex = currentIndex + 1;
+    const QString definitionName = QSettings().value("definition").toString();
+    const QList<VideoDefinition>& definitions = VideoDefinition::getDefinitions();
+    const VideoDefinition& currentDefinition = VideoDefinition::getDefinitionFor(definitionName);
+    if (currentDefinition.isEmpty()) {
+        setDefinitionMode(definitions.first().getName());
+        return;
     }
-    QString nextDefinition = definitionNames.at(nextIndex);
-    setDefinitionMode(nextDefinition);
+
+    int index = definitions.indexOf(currentDefinition);
+    if (index != definitions.size() - 1) {
+        index++;
+    } else {
+        index = 0;
+    }
+    // TODO: pass a VideoDefinition instead of QString.
+    setDefinitionMode(definitions.at(index).getName());
 }
 
 void MainWindow::showFullscreenToolbar(bool show) {
-    if (!m_fullscreen) return;
+    if (!fullscreenFlag) return;
     mainToolBar->setVisible(show);
 }
 
 void MainWindow::showFullscreenPlaylist(bool show) {
-    if (!m_fullscreen) return;
+    if (!fullscreenFlag) return;
     mediaView->setPlaylistVisible(show);
 }
 
@@ -1512,13 +1614,13 @@ void MainWindow::setManualPlay(bool enabled) {
     showActionInStatusBar(The::globalActions()->value("manualplay"), enabled);
 }
 
-void MainWindow::updateDownloadMessage(QString message) {
+void MainWindow::updateDownloadMessage(const QString &message) {
     The::globalActions()->value("downloads")->setText(message);
 }
 
 void MainWindow::downloadsFinished() {
     The::globalActions()->value("downloads")->setText(tr("&Downloads"));
-    statusBar()->showMessage(tr("Downloads complete"));
+    showMessage(tr("Downloads complete"));
 }
 
 void MainWindow::toggleDownloads(bool show) {
@@ -1554,21 +1656,21 @@ void MainWindow::search(const QString &query) {
     showMedia(searchParams);
 }
 
-void MainWindow::dragEnterEvent(QDragEnterEvent *event) {
-    if (event->mimeData()->hasFormat("text/uri-list")) {
-        QList<QUrl> urls = event->mimeData()->urls();
+void MainWindow::dragEnterEvent(QDragEnterEvent *e) {
+    if (e->mimeData()->hasFormat("text/uri-list")) {
+        QList<QUrl> urls = e->mimeData()->urls();
         if (urls.isEmpty()) return;
         QUrl url = urls.first();
         QString videoId = YTSearch::videoIdFromUrl(url.toString());
         if (!videoId.isEmpty())
-            event->acceptProposedAction();
+            e->acceptProposedAction();
     }
 }
 
-void MainWindow::dropEvent(QDropEvent *event) {
+void MainWindow::dropEvent(QDropEvent *e) {
     if (!toolbarSearch->isEnabled()) return;
 
-    QList<QUrl> urls = event->mimeData()->urls();
+    QList<QUrl> urls = e->mimeData()->urls();
     if (urls.isEmpty())
         return;
     QUrl url = urls.first();
@@ -1601,7 +1703,7 @@ void MainWindow::checkForUpdate() {
     settings.setValue(updateCheckKey, unixTime);
 }
 
-void MainWindow::gotNewVersion(QString version) {
+void MainWindow::gotNewVersion(const QString &version) {
     if (updateChecker) {
         delete updateChecker;
         updateChecker = 0;
@@ -1621,10 +1723,10 @@ void MainWindow::gotNewVersion(QString version) {
 #endif
 }
 
-void MainWindow::simpleUpdateDialog(QString version) {
+void MainWindow::simpleUpdateDialog(const QString &version) {
     QMessageBox msgBox(this);
     msgBox.setIconPixmap(
-                QPixmap(":/images/app.png")
+                IconUtils::pixmap(":/images/app.png")
                 .scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
     msgBox.setText(tr("%1 version %2 is now available.").arg(Constants::NAME, version));
     msgBox.setModal(true);
@@ -1640,8 +1742,19 @@ void MainWindow::simpleUpdateDialog(QString version) {
     if (msgBox.clickedButton() == updateButton) visitSite();
 }
 
-void MainWindow::floatOnTop(bool onTop) {
-    showActionInStatusBar(The::globalActions()->value("ontop"), onTop);
+bool MainWindow::needStatusBar() {
+    return !statusToolBar->actions().isEmpty();
+}
+
+void MainWindow::adjustMessageLabelPosition() {
+    if (messageLabel->parent() == this)
+        messageLabel->move(0, height() - messageLabel->height());
+    else
+        messageLabel->move(mapToGlobal(QPoint(0, height() - messageLabel->height())));
+}
+
+void MainWindow::floatOnTop(bool onTop, bool showAction) {
+    if (showAction) showActionInStatusBar(The::globalActions()->value("ontop"), onTop);
 #ifdef APP_MAC
     mac::floatOnTop(winId(), onTop);
     return;
@@ -1655,6 +1768,13 @@ void MainWindow::floatOnTop(bool onTop) {
     }
 }
 
+void MainWindow::adjustWindowSizeChanged(bool enabled) {
+    QSettings settings;
+    settings.setValue("adjustWindowSize", enabled);
+    if (enabled && views->currentWidget() == mediaView)
+        mediaView->adjustWindowSize();
+}
+
 void MainWindow::restore() {
 #ifdef APP_MAC
     mac::uncloseWindow(window()->winId());
@@ -1710,8 +1830,20 @@ void MainWindow::printHelp() {
     std::cout << msg.toLocal8Bit().data();
 }
 
-void MainWindow::showMessage(QString message) {
-    statusBar()->showMessage(message, 60000);
+void MainWindow::showMessage(const QString &message) {
+    if (!isVisible()) return;
+#ifdef APP_MAC
+    if (!mac::isVisible(winId())) return;
+#endif
+    if (statusBar()->isVisible())
+        statusBar()->showMessage(message, 60000);
+    else {
+        messageLabel->setText(message);
+        messageLabel->resize(messageLabel->sizeHint());
+        adjustMessageLabelPosition();
+        messageLabel->show();
+        messageTimer->start();
+    }
 }
 
 #ifdef APP_ACTIVATION
index 1c761714e2097561ae53c138e7fcb65fac115e8b..eb1058f4874a7828603b5a928e8a6c67b2e407b4 100644 (file)
@@ -48,7 +48,6 @@ class MainWindow : public QMainWindow {
 public:
     static MainWindow* instance();
     MainWindow();
-    ~MainWindow();
 #ifdef APP_PHONON_SEEK
     Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
 #else
@@ -56,14 +55,20 @@ public:
 #endif
 #ifdef APP_PHONON
     Phonon::AudioOutput* getAudioOutput() { return audioOutput; }
+    Phonon::VolumeSlider *getVolumeSlider() { return volumeSlider; }
 #endif
+    QLabel *getCurrentTimeLabel() { return currentTime; }
     void readSettings();
     void writeSettings();
     static void printHelp();
     MediaView* getMediaView() { return mediaView; }
     QToolButton* getRegionButton() { return regionButton; }
     QAction* getRegionAction() { return regionAction; }
+    SearchLineEdit *getToolbarSearch() { return toolbarSearch; }
+
     void showActionInStatusBar(QAction*, bool show);
+    void setStatusBarVisibility(bool show);
+    void adjustStatusBarVisibility();
 
 public slots:
     void showHome(bool transition = true);
@@ -76,7 +81,7 @@ public slots:
     void suggestionAccepted(Suggestion *suggestion);
     void search(const QString &query);
     void goBack();
-    void showMessage(QString message);
+    void showMessage(const QString &message);
 #ifdef APP_ACTIVATION
     void showActivationView(bool transition = true);
     void showActivationDialog();
@@ -86,18 +91,23 @@ public slots:
     bool isReallyFullScreen();
     bool isCompact() { return m_compact; }
 
+signals:
+    void currentTimeChanged(const QString &s);
+
 protected:
-    void changeEvent(QEvent *);
-    void closeEvent(QCloseEvent *);
-    bool eventFilter(QObject *obj, QEvent *event);
-    void dragEnterEvent(QDragEnterEvent *event);
-    void dropEvent(QDropEvent *event);
-    void resizeEvent(QResizeEvent *);
+    void changeEvent(QEvent *e);
+    void closeEvent(QCloseEvent *e);
+    void showEvent(QShowEvent *e);
+    bool eventFilter(QObject *obj, QEvent *e);
+    void dragEnterEvent(QDragEnterEvent *e);
+    void dropEvent(QDropEvent *e);
+    void resizeEvent(QResizeEvent *e);
+    void moveEvent(QMoveEvent *e);
 
 private slots:
     void lazyInit();
     void checkForUpdate();
-    void gotNewVersion(QString version);
+    void gotNewVersion(const QString &version);
     void visitSite();
     void donate();
     void reportIssue();
@@ -112,7 +122,7 @@ private slots:
     void searchFocus();
     void tick(qint64 time);
     void totalTimeChanged(qint64 time);
-    void setDefinitionMode(QString definitionName);
+    void setDefinitionMode(const QString &definitionName);
     void toggleDefinitionMode();
     void clearRecentKeywords();
 
@@ -128,11 +138,13 @@ private slots:
     void showFullscreenPlaylist(bool show);
 
     void setManualPlay(bool enabled);
-    void updateDownloadMessage(QString);
+    void updateDownloadMessage(const QString &);
     void downloadsFinished();
     void toggleDownloads(bool show);
 
-    void floatOnTop(bool);
+    void floatOnTop(bool, bool showAction = true);
+    void adjustWindowSizeChanged(bool enabled);
+
     void showStopAfterThisInStatusBar(bool show);
 
     void hideMouse();
@@ -150,15 +162,17 @@ private:
     void createToolBars();
     void createStatusBar();
     void showWidget(QWidget*, bool transition = true);
-    static QString formatTime(qint64 time);
+    static QString formatTime(qint64 duration);
     bool confirmQuit();
-    void simpleUpdateDialog(QString version);
+    void simpleUpdateDialog(const QString &version);
+    bool needStatusBar();
+    void adjustMessageLabelPosition();
 
     UpdateChecker *updateChecker;
 
     // view mechanism
     QStackedWidget *views;
-    QStack<QWidget*> *history;
+    QStack<QWidget*> history;
     QList<QAction*> viewActions;
 
     // view widgets
@@ -225,11 +239,14 @@ private:
     QLabel *currentTime;
     // QLabel *totalTime;
 
-    // fullscreen
-    bool m_fullscreen;
+    bool fullscreenFlag;
     bool m_maximized;
     QTimer *mouseTimer;
     bool m_compact;
+    bool initialized;
+
+    QLabel *messageLabel;
+    QTimer *messageTimer;
 
 };
 
index c1617f1e060c991ca029c2946f71fde9aae7523c..302c77a1ea478d6ca0c91329c42eb3fba6b48f86 100644 (file)
@@ -50,6 +50,7 @@ $END_LICENSE */
 #include "snapshotsettings.h"
 #endif
 #include "datautils.h"
+#include "compatibility/qurlqueryhelper.h"
 
 namespace The {
 NetworkAccess* http();
@@ -63,12 +64,14 @@ MediaView* MediaView::instance() {
     return i;
 }
 
-MediaView::MediaView(QWidget *parent) : QWidget(parent),
-    stopped(false),
-    #ifdef APP_SNAPSHOT
-    snapshotSettings(0),
-    #endif
-    downloadItem(0) { }
+MediaView::MediaView(QWidget *parent) : View(parent)
+  , stopped(false)
+  , downloadItem(0)
+  #ifdef APP_SNAPSHOT
+  , snapshotSettings(0)
+  #endif
+  , pauseTime(0)
+{ }
 
 void MediaView::initialize() {
     QBoxLayout *layout = new QVBoxLayout(this);
@@ -126,6 +129,7 @@ void MediaView::initialize() {
     QSettings settings;
     splitter->restoreState(settings.value("splitter").toByteArray());
     splitter->setChildrenCollapsible(false);
+    connect(splitter, SIGNAL(splitterMoved(int,int)), SLOT(maybeAdjustWindowSize()));
 
     layout->addWidget(splitter);
 
@@ -186,7 +190,7 @@ void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
 SearchParams* MediaView::getSearchParams() {
     VideoSource *videoSource = playlistModel->getVideoSource();
     if (videoSource && videoSource->metaObject()->className() == QLatin1String("YTSearch")) {
-        YTSearch *search = dynamic_cast<YTSearch *>(videoSource);
+        YTSearch *search = qobject_cast<YTSearch *>(videoSource);
         return search->getSearchParams();
     }
     return 0;
@@ -212,6 +216,7 @@ void MediaView::search(SearchParams *searchParams) {
 }
 
 void MediaView::setVideoSource(VideoSource *videoSource, bool addToHistory, bool back) {
+    Q_UNUSED(back);
     stopped = false;
 
 #ifdef APP_ACTIVATION
@@ -291,20 +296,23 @@ int MediaView::getHistoryIndex() {
 }
 
 void MediaView::appear() {
-    playlistView->setFocus();
     Video *currentVideo = playlistModel->activeVideo();
     if (currentVideo) {
         MainWindow::instance()->setWindowTitle(
                     currentVideo->title() + " - " + Constants::NAME);
-        MainWindow::instance()->showMessage(currentVideo->description());
     }
+
+    // optimize window for 16:9 video
+    QTimer::singleShot(50, this, SLOT(maybeAdjustWindowSize()));
+
+    playlistView->setFocus();
 }
 
 void MediaView::disappear() {
 
 }
 
-void MediaView::handleError(QString message) {
+void MediaView::handleError(const QString &message) {
     qWarning() << __PRETTY_FUNCTION__ << message;
 #ifdef APP_PHONON_SEEK
     mediaObject->play();
@@ -315,9 +323,13 @@ void MediaView::handleError(QString message) {
 
 #ifdef APP_PHONON
 void MediaView::stateChanged(Phonon::State newState, Phonon::State /*oldState*/) {
-    if (newState == Phonon::PlayingState)
+    if (pauseTime > 0 && (newState == Phonon::PlayingState || newState == Phonon::BufferingState)) {
+        mediaObject->seek(pauseTime);
+        pauseTime = 0;
+    }
+    if (newState == Phonon::PlayingState) {
         videoAreaWidget->showVideo();
-    else if (newState == Phonon::ErrorState) {
+    else if (newState == Phonon::ErrorState) {
         qWarning() << "Phonon error:" << mediaObject->errorString() << mediaObject->errorType();
         if (mediaObject->errorType() == Phonon::FatalError)
             handleError(mediaObject->errorString());
@@ -330,15 +342,20 @@ void MediaView::pause() {
     switch( mediaObject->state() ) {
     case Phonon::PlayingState:
         mediaObject->pause();
+        pauseTimer.start();
         break;
     default:
-        mediaObject->play();
+        if (pauseTimer.hasExpired(60000)) {
+            pauseTimer.invalidate();
+            connect(playlistModel->activeVideo(), SIGNAL(gotStreamUrl(QUrl)), SLOT(resumeWithNewStreamUrl(QUrl)));
+            playlistModel->activeVideo()->loadStreamUrl();
+        } else mediaObject->play();
         break;
     }
 #endif
 }
 
-QRegExp MediaView::wordRE(QString s) {
+QRegExp MediaView::wordRE(const QString &s) {
     return QRegExp("\\W" + s + "\\W?", Qt::CaseInsensitive);
 }
 
@@ -383,12 +400,16 @@ void MediaView::stop() {
     QSlider *slider = MainWindow::instance()->getSlider();
     slider->setEnabled(false);
     slider->setValue(0);
+#else
+    Phonon::SeekSlider *slider = MainWindow::instance()->getSeekSlider();
 #endif
 
+#ifdef APP_SNAPSHOT
     if (snapshotSettings) {
         delete snapshotSettings;
         snapshotSettings = 0;
     }
+#endif
 }
 
 const QString & MediaView::getCurrentVideoId() {
@@ -423,7 +444,6 @@ void MediaView::activeRowChanged(int row) {
 
     // video title in titlebar
     MainWindow::instance()->setWindowTitle(video->title() + " - " + Constants::NAME);
-    MainWindow::instance()->showMessage(video->description());
 
     // ensure active item is visible
     if (row != -1) {
@@ -460,10 +480,13 @@ void MediaView::activeRowChanged(int row) {
     slider->setValue(0);
 #endif
 
+#ifdef APP_SNAPSHOT
     if (snapshotSettings) {
         delete snapshotSettings;
         snapshotSettings = 0;
+        MainWindow::instance()->adjustStatusBarVisibility();
     }
+#endif
 
     // see you in gotStreamUrl...
 }
@@ -627,7 +650,7 @@ void MediaView::aboutToFinish() {
 #ifdef APP_PHONON
     qint64 currentTime = mediaObject->currentTime();
     qint64 totalTime = mediaObject->totalTime();
-    qDebug() << __PRETTY_FUNCTION__ << currentTime << totalTime;
+    // qDebug() << __PRETTY_FUNCTION__ << currentTime << totalTime;
     if (totalTime < 1 || currentTime + 10000 < totalTime) {
         // QTimer::singleShot(500, this, SLOT(playbackResume()));
         mediaObject->seek(currentTime);
@@ -642,9 +665,9 @@ void MediaView::playbackFinished() {
 #ifdef APP_PHONON
     const qint64 totalTime = mediaObject->totalTime();
     const qint64 currentTime = mediaObject->currentTime();
-    qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime() << totalTime;
+    // qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime() << totalTime;
     // add 10 secs for imprecise Phonon backends (VLC, Xine)
-    if (totalTime < 1 || (currentTime > 0 && currentTime + 10000 < totalTime)) {
+    if (currentTime > 0 && currentTime + 10000 < totalTime) {
         // mediaObject->seek(currentTime);
         QTimer::singleShot(500, this, SLOT(playbackResume()));
     } else {
@@ -660,7 +683,7 @@ void MediaView::playbackResume() {
     if (stopped) return;
 #ifdef APP_PHONON
     const qint64 currentTime = mediaObject->currentTime();
-    qDebug() << __PRETTY_FUNCTION__ << currentTime;
+    // qDebug() << __PRETTY_FUNCTION__ << currentTime;
     if (currentTime > 0)
         mediaObject->seek(currentTime);
     mediaObject->play();
@@ -673,7 +696,8 @@ void MediaView::openWebPage() {
 #ifdef APP_PHONON
     mediaObject->pause();
 #endif
-    QDesktopServices::openUrl(video->webpage());
+    QString url = video->webpage() + QLatin1String("&t=") + QString::number(mediaObject->currentTime() / 1000);
+    QDesktopServices::openUrl(url);
 }
 
 void MediaView::copyWebPage() {
@@ -778,7 +802,7 @@ void MediaView::demoMessage() {
 #endif
 
     QMessageBox msgBox(this);
-    msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
+    msgBox.setIconPixmap(IconUtils::pixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
     msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
     msgBox.setInformativeText(tr("It allows you to test the application and see if it works for you."));
     msgBox.setModal(true);
@@ -825,7 +849,7 @@ void MediaView::downloadVideo() {
     Video* video = playlistModel->activeVideo();
     if (!video) return;
     DownloadManager::instance()->addItem(video);
-    The::globalActions()->value("downloads")->setVisible(true);
+    MainWindow::instance()->showActionInStatusBar(The::globalActions()->value("downloads"), true);
     QString message = tr("Downloading %1").arg(video->title());
     MainWindow::instance()->showMessage(message);
 }
@@ -865,9 +889,9 @@ void MediaView::snapshot() {
 #ifdef APP_EXTRA
     Extra::fadeInWidget(statusBar, statusBar);
 #endif
-    statusBar->clearMessage();
     statusBar->insertPermanentWidget(0, snapshotSettings);
     snapshotSettings->show();
+    MainWindow::instance()->setStatusBarVisibility(true);
 }
 #endif
 
@@ -898,7 +922,27 @@ void MediaView::startDownloading() {
     downloadItem->start();
 }
 
+void MediaView::resumeWithNewStreamUrl(const QUrl &streamUrl) {
+    pauseTime = mediaObject->currentTime();
+    mediaObject->setCurrentSource(streamUrl);
+    mediaObject->play();
+
+    Video *video = static_cast<Video *>(sender());
+    if (!video) {
+        qDebug() << "Cannot get sender in" << __PRETTY_FUNCTION__;
+        return;
+    }
+    video->disconnect(this);
+}
+
+void MediaView::maybeAdjustWindowSize() {
+    QSettings settings;
+    if (settings.value("adjustWindowSize", true).toBool())
+        adjustWindowSize();
+}
+
 void MediaView::sliderMoved(int value) {
+    Q_UNUSED(value);
 #ifdef APP_PHONON
 #ifndef APP_PHONON_SEEK
 
@@ -1011,18 +1055,12 @@ void MediaView::shareViaTwitter() {
     Video* video = playlistModel->activeVideo();
     if (!video) return;
     QUrl url("https://twitter.com/intent/tweet");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("via", "minitubeapp");
-        url.addQueryItem("text", video->title());
-        url.addQueryItem("url", video->webpage());
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("via", "minitubeapp");
+        urlHelper.addQueryItem("text", video->title());
+        urlHelper.addQueryItem("url", video->webpage());
     }
-#endif
     QDesktopServices::openUrl(url);
 }
 
@@ -1030,17 +1068,11 @@ void MediaView::shareViaFacebook() {
     Video* video = playlistModel->activeVideo();
     if (!video) return;
     QUrl url("https://www.facebook.com/sharer.php");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("t", video->title());
-        url.addQueryItem("u", video->webpage());
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("t", video->title());
+        urlHelper.addQueryItem("u", video->webpage());
     }
-#endif
     QDesktopServices::openUrl(url);
 }
 
@@ -1048,19 +1080,13 @@ void MediaView::shareViaBuffer() {
     Video* video = playlistModel->activeVideo();
     if (!video) return;
     QUrl url("http://bufferapp.com/add");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("via", "minitubeapp");
-        url.addQueryItem("text", video->title());
-        url.addQueryItem("url", video->webpage());
-        url.addQueryItem("picture", video->thumbnailUrl());
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("via", "minitubeapp");
+        urlHelper.addQueryItem("text", video->title());
+        urlHelper.addQueryItem("url", video->webpage());
+        urlHelper.addQueryItem("picture", video->thumbnailUrl());
     }
-#endif
     QDesktopServices::openUrl(url);
 }
 
@@ -1068,21 +1094,15 @@ void MediaView::shareViaEmail() {
     Video* video = playlistModel->activeVideo();
     if (!video) return;
     QUrl url("mailto:");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("subject", video->title());
-        QString body = video->title() + "\n" +
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("subject", video->title());
+        const QString body = video->title() + "\n" +
                 video->webpage() + "\n\n" +
                 tr("Sent from %1").arg(Constants::NAME) + "\n" +
                 Constants::WEBSITE;
-        url.addQueryItem("body", body);
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        urlHelper.addQueryItem("body", body);
     }
-#endif
     QDesktopServices::openUrl(url);
 }
 
@@ -1123,7 +1143,7 @@ void MediaView::updateSubscriptionAction(Video *video, bool subscribed) {
     subscribeAction->setStatusTip(subscribeTip);
 
     if (subscribed) {
-#ifdef Q_OS_LINUX
+#ifdef APP_LINUX
         static QIcon tintedIcon;
         if (tintedIcon.isNull()) {
             QList<QSize> sizes;
@@ -1147,7 +1167,32 @@ void MediaView::toggleSubscription() {
     QString userId = video->channelId();
     if (userId.isEmpty()) return;
     bool subscribed = YTChannel::isSubscribed(userId);
-    if (subscribed) YTChannel::unsubscribe(userId);
-    else YTChannel::subscribe(userId);
+    if (subscribed) {
+        YTChannel::unsubscribe(userId);
+        MainWindow::instance()->showMessage(tr("Unsubscribed from %1").arg(video->channelTitle()));
+    } else {
+        YTChannel::subscribe(userId);
+        MainWindow::instance()->showMessage(tr("Subscribed to %1").arg(video->channelTitle()));
+    }
     updateSubscriptionAction(video, !subscribed);
 }
+
+void MediaView::adjustWindowSize() {
+    if (!MainWindow::instance()->isMaximized() && !MainWindow::instance()->isFullScreen()) {
+        const double ratio = 16. / 9.;
+        const int w = videoAreaWidget->width();
+        const int h = videoAreaWidget->height();
+        const double currentVideoRatio = (double)w / (double)h;
+        if (currentVideoRatio != ratio) {
+            if (false && currentVideoRatio > ratio) {
+                // we have vertical black bars
+                int newWidth = (MainWindow::instance()->width() - w) + (h * ratio);
+                MainWindow::instance()->resize(newWidth, MainWindow::instance()->height());
+            } else {
+                // horizontal black bars
+                int newHeight = (MainWindow::instance()->height() - h) + (w / ratio);
+                MainWindow::instance()->resize(MainWindow::instance()->width(), newHeight);
+            }
+        }
+    }
+}
index 84146d7d2e105918b4ec832682fcdd79eb7111ea..54024987cab435c981916bb18a0cc50240c8b039 100644 (file)
@@ -50,7 +50,7 @@ namespace The {
 QHash<QString, QAction*>* globalActions();
 }
 
-class MediaView : public QWidget, public View {
+class MediaView : public View {
 
     Q_OBJECT
 
@@ -105,6 +105,8 @@ public slots:
     bool canGoForward();
     void goForward();
     void toggleSubscription();
+    void adjustWindowSize();
+    void maybeAdjustWindowSize();
 
 private slots:
     // list/model
@@ -113,7 +115,7 @@ private slots:
     void activeRowChanged(int);
     void selectVideos(QList<Video*> videos);
     void gotStreamUrl(QUrl streamUrl);
-    void handleError(QString message);
+    void handleError(const QString &message);
     // phonon
 #ifdef APP_PHONON
     void stateChanged(Phonon::State newState, Phonon::State oldState);
@@ -132,12 +134,13 @@ private slots:
     void sliderMoved(int value);
     qint64 offsetToTime(qint64 offset);
     void startDownloading();
+    void resumeWithNewStreamUrl(const QUrl &streamUrl);
 
 private:
     MediaView(QWidget *parent = 0);
     SearchParams* getSearchParams();
 
-    static QRegExp wordRE(QString s);
+    static QRegExp wordRE(const QString &s);
 
     QSplitter *splitter;
     SidebarWidget *sidebar;
@@ -169,6 +172,9 @@ private:
 #ifdef APP_SNAPSHOT
     SnapshotSettings *snapshotSettings;
 #endif
+
+    QElapsedTimer pauseTimer;
+    qint64 pauseTime;
 };
 
 #endif // __MEDIAVIEW_H__
index 9b99e467781c57adaa0e286c601614289a9577c1..9b279800c51cda660b206ee0b6f3e78959242bb2 100644 (file)
@@ -35,7 +35,7 @@ const QString USER_AGENT = QString(Constants::NAME)
                            + " (" + Constants::WEBSITE + ")";
 */
 
-const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36";
+const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36";
 
 NetworkReply::NetworkReply(QNetworkReply *networkReply) :
     QObject(networkReply),
@@ -174,6 +174,9 @@ QNetworkReply* NetworkAccess::request(QUrl url, int operation, const QByteArray&
         return 0;
     }
 
+#ifdef APP_MAC
+    networkReply->ignoreSslErrors();
+#endif
     return networkReply;
 }
 
index 396b836efd0f0706369fc8bf83c6cf01c65eb325..115cf1f1c06a6d9e066f67f7bba48d98f8788d35 100644 (file)
@@ -23,6 +23,7 @@ $END_LICENSE */
 #include "yt3.h"
 #include "yt3listparser.h"
 #include "datautils.h"
+#include "compatibility/qurlqueryhelper.h"
 
 #include "video.h"
 #include "networkaccess.h"
@@ -34,13 +35,12 @@ QHash<QString, QAction*>* globalActions();
 
 PaginatedVideoSource::PaginatedVideoSource(QObject *parent) : VideoSource(parent)
   , tokenTimestamp(0)
-  , reloadingToken(false)
   , currentMax(0)
   , currentStartIndex(0)
+  , reloadingToken(false)
   , asyncDetails(false) { }
 
 bool PaginatedVideoSource::hasMoreVideos() {
-    qDebug() << __PRETTY_FUNCTION__ << nextPageToken;
     return !nextPageToken.isEmpty();
 }
 
@@ -97,6 +97,7 @@ void PaginatedVideoSource::loadVideoDetails(const QList<Video*> &videos) {
         // TODO get video details from cache
         if (!videoIds.isEmpty()) videoIds += ",";
         videoIds += video->id();
+        this->videos = videos;
         videoMap.insert(video->id(), video);
     }
 
@@ -109,20 +110,11 @@ void PaginatedVideoSource::loadVideoDetails(const QList<Video*> &videos) {
     }
 
     QUrl url = YT3::instance().method("videos");
-
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-
-        url.addQueryItem("part", "contentDetails,statistics");
-        url.addQueryItem("id", videoIds);
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("part", "contentDetails,statistics");
+        urlHelper.addQueryItem("id", videoIds);
     }
-#endif
 
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parseVideoDetails(QByteArray)));
@@ -162,8 +154,8 @@ void PaginatedVideoSource::parseVideoDetails(const QByteArray &bytes) {
         }
     }
     if (!asyncDetails) {
-        emit gotVideos(videoMap.values());
-        emit finished(videoMap.size());
+        emit gotVideos(videos);
+        emit finished(videos.size());
     } else {
         emit gotDetails();
     }
index 1c04b529de7d1081925efb75442639c0cd084cb2..bf8495176bf17f84627b8405318a57a484f13079 100644 (file)
@@ -51,6 +51,7 @@ protected:
     int currentMax;
     int currentStartIndex;
     bool reloadingToken;
+    QList<Video*> videos;
     QHash<QString, Video*> videoMap;
     bool asyncDetails;
 
index 54f4cbdab59491c7b8c81ae375c166e398ae4dc6..9281b0d62ab5003eea0e2418c9557bf8b01d6ac1 100644 (file)
@@ -20,10 +20,11 @@ $END_LICENSE */
 
 #include "painterutils.h"
 #include "fontutils.h"
+#include "iconutils.h"
 
 PainterUtils::PainterUtils() { }
 
-void PainterUtils::centeredMessage(QString message, QWidget* widget) {
+void PainterUtils::centeredMessage(const QString &message, QWidget* widget) {
     QPainter painter(widget);
     painter.setFont(FontUtils::big());
     QSize textSize(QFontMetrics(painter.font()).size(Qt::TextSingleLine, message));
@@ -63,10 +64,9 @@ void PainterUtils::topShadow(QWidget *widget) {
 }
 
 void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool center) {
-    static const QPixmap badge1 = QPixmap(":/images/badge.png");
-    static const QPixmap badge3 = QPixmap(":/images/badge3.png");
-    static const QPixmap badge4 = QPixmap(":/images/badge4.png");
-    static const int size = badge1.height();
+    const QPixmap badge1 = IconUtils::pixmap(":/images/badge.png");
+    const QPixmap badge3 = IconUtils::pixmap(":/images/badge3.png");
+    const QPixmap badge4 = IconUtils::pixmap(":/images/badge4.png");
 
     const int textSize = text.size();
 
@@ -75,10 +75,13 @@ void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool cente
     else if (textSize == 3) badge = badge3;
     else badge = badge4;
 
+    const int w = badge.width() / badge.devicePixelRatio();
+    const int h = badge.height() / badge.devicePixelRatio();
+
     int x = 0;
-    if (center) x -= badge.width() / 2;
+    if (center) x -= w / 2;
 
-    QRect rect(x, 0, badge.width(), size);
+    QRect rect(x, 0, w, h);
     painter->drawPixmap(rect, badge);
 
     QFont f = painter->font();
@@ -86,11 +89,9 @@ void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool cente
     f.setHintingPreference(QFont::PreferNoHinting);
 #ifdef APP_MAC
     f.setFamily("Helvetica");
-#endif
-#ifdef APP_WIN
+#elif APP_WIN
     rect.adjust(0, -2, 0, 0);
-#endif
-#ifdef Q_OS_LINUX
+#else
     rect.adjust(0, -1, 0, 0);
 #endif
     painter->save();
index 26bdbabb155b41f30202160e8d4c4f4a4a645865..2ff86f2e989ce50e47f519384d31ab48d5738ce8 100644 (file)
@@ -29,7 +29,7 @@ $END_LICENSE */
 class PainterUtils {
 
 public:
-    static void centeredMessage(QString message, QWidget* widget);
+    static void centeredMessage(const QString &message, QWidget* widget);
     static void topShadow(QWidget *widget);
     static void paintBadge(QPainter *painter, const QString &text, bool center = false);
 
index 717c7e57d64cbe7ee82a8318bd552d645a8bb41d..f83d951968a10755d038223aa54336d25acc7e5b 100644 (file)
@@ -25,11 +25,21 @@ $END_LICENSE */
 #include "iconutils.h"
 #include "videodefinition.h"
 #include "video.h"
+#include "datautils.h"
 
 const int PlaylistItemDelegate::THUMB_HEIGHT = 90;
 const int PlaylistItemDelegate::THUMB_WIDTH = 160;
 const int PlaylistItemDelegate::PADDING = 10;
 
+namespace {
+
+void drawElidedText(QPainter *painter, const QRect &textBox, const int flags, const QString &text) {
+    QString elidedText = QFontMetrics(painter->font()).elidedText(text, Qt::ElideRight, textBox.width(), flags);
+    painter->drawText(textBox, 0, elidedText);
+}
+
+}
+
 PlaylistItemDelegate::PlaylistItemDelegate(QObject* parent, bool downloadInfo)
     : QStyledItemDelegate(parent),
       downloadInfo(downloadInfo),
@@ -54,10 +64,13 @@ PlaylistItemDelegate::~PlaylistItemDelegate() {
 }
 
 void PlaylistItemDelegate::createPlayIcon() {
-    playIcon = QPixmap(THUMB_WIDTH, THUMB_HEIGHT);
+    qreal maxRatio = IconUtils::maxSupportedPixelRatio();
+    playIcon = QPixmap(THUMB_WIDTH * maxRatio, THUMB_HEIGHT * maxRatio);
+    playIcon.setDevicePixelRatio(maxRatio);
     playIcon.fill(Qt::transparent);
 
-    QPixmap tempPixmap(THUMB_WIDTH, THUMB_HEIGHT);
+    QPixmap tempPixmap(THUMB_WIDTH * maxRatio, THUMB_HEIGHT * maxRatio);
+    tempPixmap.setDevicePixelRatio(maxRatio);
     tempPixmap.fill(Qt::transparent);
     QPainter painter(&tempPixmap);
     painter.setRenderHints(QPainter::Antialiasing, true);
@@ -115,32 +128,31 @@ void PlaylistItemDelegate::paintBody( QPainter* painter,
     const bool isActive = index.data( ActiveTrackRole ).toBool();
     const bool isSelected = option.state & QStyle::State_Selected;
 
+    // get the video metadata
+    const Video *video = index.data(VideoRole).value<VideoPointer>().data();
+
     // draw the "current track" highlight underneath the text
     if (isActive && !isSelected)
-        paintActiveOverlay(painter, line);
+        paintActiveOverlay(painter, option, line);
 
-    // get the video metadata
-    const VideoPointer videoPointer = index.data( VideoRole ).value<VideoPointer>();
-    const Video *video = videoPointer.data();
+    // separator
+    painter->setPen(option.palette.color(QPalette::Midlight));
+    painter->drawLine(THUMB_WIDTH, THUMB_HEIGHT, option.rect.width(), THUMB_HEIGHT);
+    if (!video->thumbnail().isNull())
+        painter->setPen(Qt::black);
+    painter->drawLine(0, THUMB_HEIGHT, THUMB_WIDTH-1, THUMB_HEIGHT);
 
     // thumb
     painter->drawPixmap(0, 0, video->thumbnail());
 
     // play icon overlayed on the thumb
     if (isActive)
-        painter->drawPixmap(playIcon.rect(), playIcon);
+        painter->drawPixmap(0, 0, playIcon);
 
     // time
     if (video->duration() > 0)
         drawTime(painter, video->formattedDuration(), line);
 
-    // separator
-    painter->setPen(option.palette.color(QPalette::Midlight));
-    painter->drawLine(THUMB_WIDTH, THUMB_HEIGHT, option.rect.width(), THUMB_HEIGHT);
-    if (!video->thumbnail().isNull())
-        painter->setPen(Qt::black);
-    painter->drawLine(0, THUMB_HEIGHT, THUMB_WIDTH-1, THUMB_HEIGHT);
-
     if (line.width() > THUMB_WIDTH + 60) {
 
         // if (isActive) painter->setFont(boldFont);
@@ -168,61 +180,55 @@ void PlaylistItemDelegate::paintBody( QPainter* painter,
         painter->setFont(smallerFont);
 
         // published date
-        QString publishedString = video->published().date().toString(Qt::DefaultLocaleShortDate);
+        QString publishedString = DataUtils::formatDateTime(video->published());
         QSize stringSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, publishedString ) );
         QPoint textLoc(PADDING+THUMB_WIDTH, PADDING*2 + textBox.height());
         QRect publishedTextBox(textLoc , stringSize);
         painter->drawText(publishedTextBox, Qt::AlignLeft | Qt::AlignTop, publishedString);
 
-        if (line.width() > publishedTextBox.x() + publishedTextBox.width()*2) {
+        // author
+        bool authorHovered = false;
+        bool authorPressed = false;
+        const bool isHovered = index.data(HoveredItemRole).toBool();
+        if (isHovered) {
+            authorHovered = index.data(AuthorHoveredRole).toBool();
+            authorPressed = index.data(AuthorPressedRole).toBool();
+        }
 
-            // author
-            bool authorHovered = false;
-            bool authorPressed = false;
-            const bool isHovered = index.data(HoveredItemRole).toBool();
-            if (isHovered) {
-                authorHovered = index.data(AuthorHoveredRole).toBool();
-                authorPressed = index.data(AuthorPressedRole).toBool();
-            }
+        painter->save();
+        painter->setFont(smallerBoldFont);
+        if (!isSelected) {
+            if (authorHovered)
+                painter->setPen(QPen(option.palette.brush(QPalette::Highlight), 0));
+            else
+                painter->setOpacity(.5);
+        }
+        const QString &authorString = video->channelTitle();
+        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+        stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, authorString ) );
+        QRect authorTextBox(textLoc , stringSize);
+        authorRects.insert(index.row(), authorTextBox);
+        if (authorTextBox.right() > line.width()) authorTextBox.setRight(line.width());
+        drawElidedText(painter, authorTextBox, Qt::AlignLeft | Qt::AlignTop, authorString);
+        painter->restore();
 
-            painter->save();
-            painter->setFont(smallerBoldFont);
-            if (!isSelected) {
-                if (authorHovered)
-                    painter->setPen(QPen(option.palette.brush(QPalette::Highlight), 0));
-                else
-                    painter->setOpacity(.5);
-            }
-            QString authorString = video->channelTitle();
+        // view count
+        if (video->viewCount() >= 0) {
+            QLocale locale;
+            QString viewCountString = tr("%1 views").arg(locale.toString(video->viewCount()));
             textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-            stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, authorString ) );
-            QRect authorTextBox(textLoc , stringSize);
-            authorRects.insert(index.row(), authorTextBox);
-            painter->drawText(authorTextBox, Qt::AlignLeft | Qt::AlignTop, authorString);
-            painter->restore();
-
-            if (line.width() > authorTextBox.x() + 50) {
-
-                // view count
-                if (video->viewCount() >= 0) {
-                    QLocale locale;
-                    QString viewCountString = tr("%1 views").arg(locale.toString(video->viewCount()));
-                    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-                    stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, viewCountString ) );
-                    QRect viewCountTextBox(textLoc , stringSize);
-                    painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, viewCountString);
-                }
-
-                if (downloadInfo) {
-                    QString definitionString = VideoDefinition::getDefinitionName(video->getDefinitionCode());
-                    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-                    stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, definitionString ) );
-                    QRect viewCountTextBox(textLoc , stringSize);
-                    painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, definitionString);
-                }
-
-            }
+            stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, viewCountString ) );
+            QRect viewCountTextBox(textLoc , stringSize);
+            if (viewCountTextBox.right() > line.width()) viewCountTextBox.setRight(line.width());
+            drawElidedText(painter, viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, viewCountString);
+        }
 
+        if (downloadInfo) {
+            const QString definitionString = VideoDefinition::getDefinitionFor(video->getDefinitionCode()).getName();
+            textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+            stringSize = QSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, definitionString ) );
+            QRect viewCountTextBox(textLoc , stringSize);
+            painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, definitionString);
         }
 
     } else {
@@ -254,35 +260,11 @@ void PlaylistItemDelegate::paintBody( QPainter* painter,
 
 }
 
-void PlaylistItemDelegate::paintActiveOverlay(QPainter *painter, const QRect &line) const {
-    static QLinearGradient linearGradient;
-    static bool initialized = false;
-
-    if (!initialized) {
-        QPalette palette;
-        QColor highlightColor = palette.color(QPalette::Highlight);
-        QColor backgroundColor = palette.color(QPalette::Base);
-        const float animation = 0.4;
-        const int gradientRange = 16;
-
-        QColor color2 = QColor::fromHsv(
-                    highlightColor.hue(),
-                    (int) (backgroundColor.saturation() * (1.0f - animation) + highlightColor.saturation() * animation),
-                    (int) (backgroundColor.value() * (1.0f - animation) + highlightColor.value() * animation)
-                    );
-        QColor color1 = QColor::fromHsv(
-                    color2.hue(),
-                    qMax(color2.saturation() - gradientRange, 0),
-                    qMin(color2.value() + gradientRange, 255)
-                    );
-
-        linearGradient = QLinearGradient(0, 0, 0, THUMB_HEIGHT);
-        linearGradient.setColorAt(0.0, color1);
-        linearGradient.setColorAt(1.0, color2);
-        initialized = true;
-    }
-
-    painter->fillRect(line, linearGradient);
+void PlaylistItemDelegate::paintActiveOverlay(QPainter *painter, const QStyleOptionViewItem& option, const QRect &line) const {
+    painter->save();
+    painter->setOpacity(.1);
+    painter->fillRect(line, option.palette.highlight());
+    painter->restore();
 }
 
 void PlaylistItemDelegate::drawTime(QPainter *painter, const QString &time, const QRect &line) const {
index 0bbd77f06ceb3cf65d02c2d8bc762b4dc9e71914..b2f693bbc13e06fe0b74467c835007453cb7d297 100644 (file)
@@ -45,11 +45,7 @@ private:
     void paintDownloadInfo( QPainter* painter,
                                         const QStyleOptionViewItem& option,
                                         const QModelIndex& index ) const;
-
-    // active track painting
-    void paintActiveOverlay(QPainter *painter, const QRect &line) const;
-
-    //  Paints the video duration
+    void paintActiveOverlay(QPainter *painter, const QStyleOptionViewItem& option, const QRect &line) const;
     void drawTime(QPainter *painter, const QString &time, const QRect &line) const;
 
     static const int THUMB_WIDTH;
index eb8a2ddb06ffc808244ee45887bb8452894ebdcc..63cd6a3ff675d2d04c087f8ef0c9cd8976e4bf89 100644 (file)
@@ -61,8 +61,6 @@ QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
     if (row == videos.size()) {
         
         QPalette palette;
-        QFont boldFont;
-        boldFont.setBold(true);
         
         switch (role) {
         case ItemTypeRole:
@@ -85,8 +83,6 @@ QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
                 return palette.color(QPalette::ToolTipBase);
             else
                 return QVariant();
-        case Qt::FontRole:
-            return boldFont;
         default:
             return QVariant();
         }
@@ -111,8 +107,10 @@ QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
         return authorHovered;
     case AuthorPressedRole:
         return authorPressed;
+        /*
     case Qt::StatusTipRole:
         return video->description();
+        */
     }
     
     return QVariant();
@@ -218,7 +216,6 @@ void PlaylistModel::abortSearch() {
 }
 
 void PlaylistModel::searchFinished(int total) {
-    qDebug() << __PRETTY_FUNCTION__ << total;
     searching = false;
     canSearchMore = videoSource->hasMoreVideos();
 
@@ -232,7 +229,7 @@ void PlaylistModel::searchFinished(int total) {
         handleFirstVideo(videos.first());
 }
 
-void PlaylistModel::searchError(QString message) {
+void PlaylistModel::searchError(const QString &message) {
     errorMessage = message;
     // update the message item
     emit dataChanged( createIndex( maxItems, 0 ), createIndex( maxItems, columnCount() - 1 ) );
@@ -272,7 +269,7 @@ void PlaylistModel::handleFirstVideo(Video *video) {
 
         static const int maxRecentElements = 10;
 
-        YTSearch *search = dynamic_cast<YTSearch *>(videoSource);
+        YTSearch *search = qobject_cast<YTSearch *>(videoSource);
         SearchParams *searchParams = search->getSearchParams();
 
         // save keyword
@@ -340,7 +337,7 @@ bool PlaylistModel::removeRows(int position, int rows, const QModelIndex & /*par
 void PlaylistModel::removeIndexes(QModelIndexList &indexes) {
     QList<Video*> originalList(videos);
     QList<Video*> delitems;
-    foreach (QModelIndex index, indexes) {
+    foreach (const QModelIndex &index, indexes) {
         if (index.row() >= originalList.size()) continue;
         Video* video = originalList.at(index.row());
         int idx = videos.indexOf(video);
@@ -416,7 +413,7 @@ bool PlaylistModel::dropMimeData(const QMimeData *data,
     else
         beginRow = rowCount(QModelIndex());
 
-    const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( data );
+    const VideoMimeData* videoMimeData = qobject_cast<const VideoMimeData*>( data );
     if(!videoMimeData ) return false;
 
     QList<Video*> droppedVideos = videoMimeData->videos();
@@ -464,7 +461,7 @@ QModelIndex PlaylistModel::indexForVideo(Video* video) {
 void PlaylistModel::move(QModelIndexList &indexes, bool up) {
     QList<Video*> movedVideos;
 
-    foreach (QModelIndex index, indexes) {
+    foreach (const QModelIndex &index, indexes) {
         int row = index.row();
         if (row >= videos.size()) continue;
         // qDebug() << "index row" << row;
index 2123bd245d603b29c14ddc7f821c076044abee75..82ffcf64231063b849c7a9ffbb7fa699020f2b02 100644 (file)
@@ -90,7 +90,7 @@ public slots:
     void searchNeeded();
     void addVideos(QList<Video*> newVideos);
     void searchFinished(int total);
-    void searchError(QString message);
+    void searchError(const QString &message);
     void updateVideoSender();
     void emitDataChanged();
 
index c831c3be5007cac9576a1545f84c05c7dd3de2dc..c0e1197e735227e666b0bb12eb83cb476453edb0 100644 (file)
@@ -29,7 +29,12 @@ PlaylistView::PlaylistView(QWidget *parent) : QListView(parent),
     setSelectionMode(QAbstractItemView::ExtendedSelection);
 
     setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding);
+
+#if QT_VERSION >= 0x050000 && defined(APP_MAC)
+    setMinimumWidth(160);
+#else
     setMinimumWidth(175);
+#endif
 
     // dragndrop
     setDragEnabled(true);
@@ -50,13 +55,13 @@ PlaylistView::PlaylistView(QWidget *parent) : QListView(parent),
 }
 
 void PlaylistView::itemEntered(const QModelIndex &index) {
-    PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
+    PlaylistModel *listModel = qobject_cast<PlaylistModel *>(model());
     if (listModel) listModel->setHoveredRow(index.row());
 }
 
 void PlaylistView::leaveEvent(QEvent *event) {
     QListView::leaveEvent(event);
-    PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
+    PlaylistModel *listModel = qobject_cast<PlaylistModel *>(model());
     if (listModel) listModel->clearHover();
 }
 
@@ -94,7 +99,7 @@ void PlaylistView::mouseReleaseEvent(QMouseEvent *event) {
         } else if (isHoveringAuthor(event)) {
             emit authorPushed(index);
         } else if (isShowMoreItem(index)) {
-            PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
+            PlaylistModel *listModel = qobject_cast<PlaylistModel *>(model());
             listModel->searchMore();
             unsetCursor();
         }
@@ -109,7 +114,7 @@ bool PlaylistView::isHoveringAuthor(QMouseEvent *event) {
     const QRect itemRect = visualRect(itemIndex);
     // qDebug() << " itemRect.x()" <<  itemRect.x();
 
-    PlaylistItemDelegate *delegate = dynamic_cast<PlaylistItemDelegate *>(itemDelegate());
+    PlaylistItemDelegate *delegate = qobject_cast<PlaylistItemDelegate *>(itemDelegate());
     if (!delegate) return false;
 
     QRect rect = delegate->authorRect(itemIndex);
@@ -134,10 +139,3 @@ bool PlaylistView::isShowMoreItem(const QModelIndex &index) {
     return model()->rowCount() > 1 &&
             model()->rowCount() == index.row() + 1;
 }
-
-void PlaylistView::paintEvent(QPaintEvent *event) {
-    QListView::paintEvent(event);
-#ifndef Q_OS_LINUX
-    PainterUtils::topShadow(viewport());
-#endif
-}
index d40fc997f0b1320ed5c088d53a39efd21b71f520..63b76e1cc86502f68cc07d1576f1064944459f4f 100644 (file)
@@ -39,7 +39,6 @@ protected:
     void mouseMoveEvent(QMouseEvent *event);
     void mousePressEvent(QMouseEvent *event);
     void mouseReleaseEvent(QMouseEvent *event);
-    void paintEvent(QPaintEvent *event);
 
 signals:
     void authorPushed(QModelIndex index);
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 7e968df..c7ce527
@@ -1,65 +1,59 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 
 #include "qtlocalpeer.h"
-#include <QtCore/QCoreApplication>
-#include <QtCore/QTime>
-#include <QDebug>
+#include <QCoreApplication>
+#include <QDataStream>
+#include <QTime>
 
 #if defined(Q_OS_WIN)
-#include <QtCore/QLibrary>
-#include <QtCore/qt_windows.h>
+#include <QLibrary>
+#include <qt_windows.h>
 typedef BOOL(WINAPI*PProcessIdToSessionId)(DWORD,DWORD*);
 static PProcessIdToSessionId pProcessIdToSessionId = 0;
 #endif
 #if defined(Q_OS_UNIX)
-#include <unistd.h>
 #include <sys/types.h>
 #include <time.h>
+#include <unistd.h>
 #endif
 
 namespace QtLP_Private {
@@ -84,7 +78,7 @@ QtLocalPeer::QtLocalPeer(QObject* parent, const QString &appId)
 #endif
         prefix = id.section(QLatin1Char('/'), -1);
     }
-    prefix.remove(QRegExp(QLatin1String("[^a-zA-Z]")));
+    prefix.remove(QRegExp("[^a-zA-Z]"));
     prefix.truncate(6);
 
     QByteArray idc = id.toUtf8();
@@ -167,8 +161,11 @@ bool QtLocalPeer::sendMessage(const QString &message, int timeout)
     QDataStream ds(&socket);
     ds.writeBytes(uMsg.constData(), uMsg.size());
     bool res = socket.waitForBytesWritten(timeout);
-    res &= socket.waitForReadyRead(timeout);   // wait for ack
-    res &= (socket.read(qstrlen(ack)) == ack);
+    if (res) {
+        res &= socket.waitForReadyRead(timeout);   // wait for ack
+        if (res)
+            res &= (socket.read(qstrlen(ack)) == ack);
+    }
     return res;
 }
 
@@ -194,13 +191,14 @@ void QtLocalPeer::receiveConnection()
         uMsgBuf += got;
     } while (remaining && got >= 0 && socket->waitForReadyRead(2000));
     if (got < 0) {
-        qWarning() << "QtLocalPeer: Message reception failed" << socket->errorString();
+        qWarning("QtLocalPeer: Message reception failed %s", socket->errorString().toLatin1().constData());
         delete socket;
         return;
     }
     QString message(QString::fromUtf8(uMsg));
     socket->write(ack, qstrlen(ack));
     socket->waitForBytesWritten(1000);
+    socket->waitForDisconnected(1000); // make sure client reads ack
     delete socket;
     emit messageReceived(message); //### (might take a long time to return)
 }
old mode 100644 (file)
new mode 100755 (executable)
index f6d49d8..1b533b1
@@ -1,58 +1,51 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
+#ifndef QTLOCALPEER_H
+#define QTLOCALPEER_H
 
-#include <QtNetwork/QLocalServer>
-#include <QtNetwork/QLocalSocket>
-#include <QtCore/QDir>
-#include <QtDebug>
+#include <QLocalServer>
+#include <QLocalSocket>
+#include <QDir>
 
-namespace QtLP_Private {
 #include "qtlockedfile.h"
-}
 
 class QtLocalPeer : public QObject
 {
@@ -80,3 +73,5 @@ protected:
 private:
     static const char* ack;
 };
+
+#endif // QTLOCALPEER_H
old mode 100644 (file)
new mode 100755 (executable)
index d4fad75..c142a86
@@ -1,47 +1,41 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 #include "qtlockedfile.h"
old mode 100644 (file)
new mode 100755 (executable)
index e229484..84c18e5
@@ -1,58 +1,52 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 #ifndef QTLOCKEDFILE_H
 #define QTLOCKEDFILE_H
 
-#include <QtCore/QFile>
+#include <QFile>
 #ifdef Q_OS_WIN
-#include <QtCore/QVector>
+#include <QVector>
 #endif
 
-#if defined(Q_WS_WIN)
+#if defined(Q_OS_WIN)
 #  if !defined(QT_QTLOCKEDFILE_EXPORT) && !defined(QT_QTLOCKEDFILE_IMPORT)
 #    define QT_QTLOCKEDFILE_EXPORT
 #  elif defined(QT_QTLOCKEDFILE_IMPORT)
@@ -68,6 +62,8 @@
 #  define QT_QTLOCKEDFILE_EXPORT
 #endif
 
+namespace QtLP_Private {
+
 class QT_QTLOCKEDFILE_EXPORT QtLockedFile : public QFile
 {
 public:
@@ -97,5 +93,5 @@ private:
 #endif
     LockMode m_lock_mode;
 };
-
+}
 #endif
old mode 100644 (file)
new mode 100755 (executable)
index f5997ba..976c1b9
@@ -1,47 +1,41 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 #include <string.h>
old mode 100644 (file)
new mode 100755 (executable)
index 8bbaa53..5e21262
@@ -1,57 +1,55 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 #include "qtlockedfile.h"
 #include <qt_windows.h>
-#include <QtCore/QFileInfo>
+#include <QFileInfo>
 
 #define MUTEX_PREFIX "QtLockedFile mutex "
 // Maximum number of concurrent read locks. Must not be greater than MAXIMUM_WAIT_OBJECTS
 #define MAX_READERS MAXIMUM_WAIT_OBJECTS
 
+#if QT_VERSION >= 0x050000
+#define QT_WA(unicode, ansi) unicode
+#endif
+
 Qt::HANDLE QtLockedFile::getMutexHandle(int idx, bool doCreate)
 {
     if (mutexname.isEmpty()) {
old mode 100644 (file)
new mode 100755 (executable)
index ec40040..d0fb15d
@@ -1,47 +1,41 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 
     that will be compared instead.
 
     The application should create the QtSingleApplication object early
-    in the startup phase, and call isRunning() or sendMessage() to
-    find out if another instance of this application is already
-    running. Startup parameters (e.g. the name of the file the user
-    wanted this new instance to open) can be passed to the running
-    instance in the sendMessage() function.
-
-    If isRunning() or sendMessage() returns false, it means that no
-    other instance is running, and this instance has assumed the role
-    as the running instance. The application should continue with the
-    initialization of the application user interface before entering
-    the event loop with exec(), as normal. The messageReceived()
-    signal will be emitted when the application receives messages from
-    another instance of the same application.
-
-    If isRunning() or sendMessage() returns true, another instance is
-    already running, and the application should terminate or enter
-    client mode.
-
-    If a message is received it might be helpful to the user to raise
-    the application so that it becomes visible. To facilitate this,
-    QtSingleApplication provides the setActivationWindow() function
-    and the activateWindow() slot.
+    in the startup phase, and call isRunning() to find out if another
+    instance of this application is already running. If isRunning()
+    returns false, it means that no other instance is running, and
+    this instance has assumed the role as the running instance. In
+    this case, the application should continue with the initialization
+    of the application user interface before entering the event loop
+    with exec(), as normal.
+
+    The messageReceived() signal will be emitted when the running
+    application receives messages from another instance of the same
+    application. When a message is received it might be helpful to the
+    user to raise the application so that it becomes visible. To
+    facilitate this, QtSingleApplication provides the
+    setActivationWindow() function and the activateWindow() slot.
+
+    If isRunning() returns true, another instance is already
+    running. It may be alerted to the fact that another instance has
+    started by using the sendMessage() function. Also data such as
+    startup parameters (e.g. the name of the file the user wanted this
+    new instance to open) can be passed to the running instance with
+    this function. Then, the application should terminate (or enter
+    client mode).
+
+    If isRunning() returns true, but sendMessage() fails, that is an
+    indication that the running instance is frozen.
 
     Here's an example that shows how to convert an existing
     application to use QtSingleApplication. It is very simple and does
         QApplication app(argc, argv);
 
         MyMainWidget mmw;
-
         mmw.show();
         return app.exec();
     }
         QtSingleApplication app(argc, argv);
 
         if (app.isRunning())
-            return 0;
+            return !app.sendMessage(someDataString);
 
         MyMainWidget mmw;
-
         app.setActivationWindow(&mmw);
-
         mmw.show();
         return app.exec();
     }
     \endcode
 
-    Once this QtSingleApplication instance is destroyed(for example,
-    when the user quits), when the user next attempts to run the
+    Once this QtSingleApplication instance is destroyed (normally when
+    the process exits or crashes), when the user next attempts to run the
     application this instance will not, of course, be encountered. The
     next instance to call isRunning() or sendMessage() will assume the
     role as the new running instance.
@@ -176,22 +170,21 @@ QtSingleApplication::QtSingleApplication(const QString &appId, int &argc, char *
     sysInit(appId);
 }
 
+#if QT_VERSION < 0x050000
 
 /*!
     Creates a QtSingleApplication object. The application identifier
     will be QCoreApplication::applicationFilePath(). \a argc, \a
     argv, and \a type are passed on to the QAppliation constructor.
 */
-/*
 QtSingleApplication::QtSingleApplication(int &argc, char **argv, Type type)
     : QApplication(argc, argv, type)
 {
     sysInit();
 }
-*/
 
 
-#if defined(Q_OS_LINUX_NO)
+#  if defined(Q_WS_X11)
 /*!
   Special constructor for X11, ref. the documentation of
   QApplication's corresponding constructor. The application identifier
@@ -229,7 +222,8 @@ QtSingleApplication::QtSingleApplication(Display* dpy, const QString &appId, int
 {
     sysInit(appId);
 }
-#endif
+#  endif // Q_WS_X11
+#endif // QT_VERSION < 0x050000
 
 
 /*!
old mode 100644 (file)
new mode 100755 (executable)
index 09afcc9..049406f
@@ -1,49 +1,45 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
+#ifndef QTSINGLEAPPLICATION_H
+#define QTSINGLEAPPLICATION_H
 
 #include <QApplication>
 
@@ -72,12 +68,14 @@ class QT_QTSINGLEAPPLICATION_EXPORT QtSingleApplication : public QApplication
 public:
     QtSingleApplication(int &argc, char **argv, bool GUIenabled = true);
     QtSingleApplication(const QString &id, int &argc, char **argv);
-    // QtSingleApplication(int &argc, char **argv, Type type);
-#if defined(Q_OS_LINUX_NO)
+#if QT_VERSION < 0x050000
+    QtSingleApplication(int &argc, char **argv, Type type);
+#  if defined(Q_WS_X11)
     QtSingleApplication(Display* dpy, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
     QtSingleApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap= 0);
     QtSingleApplication(Display* dpy, const QString &appId, int argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
-#endif
+#  endif // Q_WS_X11
+#endif // QT_VERSION < 0x050000
 
     bool isRunning();
     QString id() const;
@@ -103,3 +101,5 @@ private:
     QtLocalPeer *peer;
     QWidget *actWin;
 };
+
+#endif // QTSINGLEAPPLICATION_H
old mode 100644 (file)
new mode 100755 (executable)
index 02de47e..1d85285
@@ -1,6 +1,7 @@
 INCLUDEPATH += $$PWD
 DEPENDPATH += $$PWD
 QT *= network
+greaterThan(QT_MAJOR_VERSION, 4): QT *= widgets
 
 qtsingleapplication-uselib:!qtsingleapplication-buildlib {
     LIBS += -L$$QTSINGLEAPPLICATION_LIBDIR -l$$QTSINGLEAPPLICATION_LIBNAME
old mode 100644 (file)
new mode 100755 (executable)
index 9b7fc40..5634537
@@ -1,47 +1,41 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
 
old mode 100644 (file)
new mode 100755 (executable)
index f4738d5..b87fffe
@@ -1,51 +1,47 @@
 /****************************************************************************
 **
-** This file is part of a Qt Solutions component.
-** 
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** 
-** Contact:  Qt Software Information (qt-info@nokia.com)
-** 
-** Commercial Usage  
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Solutions Commercial License Agreement provided
-** with the Software or, alternatively, in accordance with the terms
-** contained in a written agreement between you and Nokia.
-** 
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-** 
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-** 
-** GNU General Public License Usage 
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-** 
-** Please note Third Party Software included with Qt Solutions may impose
-** additional restrictions and it is the user's responsibility to ensure
-** that they have met the licensing requirements of the GPL, LGPL, or Qt
-** Solutions Commercial license and the relevant license of the Third
-** Party Software they are using.
-** 
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** 
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Solutions component.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
 ****************************************************************************/
 
+#ifndef QTSINGLECOREAPPLICATION_H
+#define QTSINGLECOREAPPLICATION_H
 
-#include <QtCore/QCoreApplication>
+#include <QCoreApplication>
 
 class QtLocalPeer;
 
@@ -71,3 +67,5 @@ Q_SIGNALS:
 private:
     QtLocalPeer* peer;
 };
+
+#endif // QTSINGLECOREAPPLICATION_H
index aa78fccc7a81835a93e661ced1c29f15bd1d5639..361fe3a930c8be1fb680e3aacfdd04e2d351a79b 100644 (file)
@@ -19,41 +19,36 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $END_LICENSE */
 
 #include "refinesearchbutton.h"
-
-static const int refineButtonSize = 48;
+#include "iconutils.h"
 
 RefineSearchButton::RefineSearchButton(QWidget *parent) :
     QPushButton(parent) {
 
     hovered = false;
 
+    const int refineButtonSize = 48;
     setMinimumSize(refineButtonSize, refineButtonSize);
     setMaximumSize(refineButtonSize, refineButtonSize);
     setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-    setStyleSheet(
-                "background: red url(:/images/refine-search.png) no-repeat center;"
-                "border: 0;"
-                );
 }
 
 void RefineSearchButton::paintBackground() const {
 
 }
 
-void RefineSearchButton::paintEvent(QPaintEvent *event) {
-    // QPushButton::paintEvent(event);
+void RefineSearchButton::paintEvent(QPaintEvent *) {
     QPainter painter(this);
     painter.setRenderHints(QPainter::Antialiasing, true);
+    painter.setPen(Qt::NoPen);
     painter.setBrush(QColor(0,0,0, hovered ? 192 : 170));
-    QPen pen(Qt::white);
-    pen.setWidth(2);
-    painter.setPen(pen);
     painter.drawEllipse(QPoint(width(), height()), width()-2, height()-2);
 
-    QPixmap icon = QPixmap(":/images/refine-search.png");
-    painter.drawPixmap(width() - icon.width() - 6, height() - icon.height() - 6,
-                       icon.width(), icon.height(),
-                       icon);
+    QPixmap pixmap = IconUtils::pixmap(":/images/refine-search.png");
+    int pw = pixmap.width() / pixmap.devicePixelRatio();
+    int ph = pixmap.height() / pixmap.devicePixelRatio();
+    painter.drawPixmap(width() - pw - 6, height() - ph - 6,
+                       pw, ph,
+                       pixmap);
 }
 
 void RefineSearchButton::enterEvent(QEvent *) {
index cba9079312d53ef4136476ecf19bd88f14c37955..d82a227c12e80b0f9d876e2a995bc7dadd315ea9 100644 (file)
@@ -19,11 +19,11 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $END_LICENSE */
 
 #include "refinesearchwidget.h"
-#include "fontutils.h"
 #include "searchparams.h"
 #ifdef APP_EXTRA
 #include "extra.h"
 #endif
+#include "iconutils.h"
 
 namespace The {
 QHash<QString, QAction*>* globalActions();
@@ -39,12 +39,11 @@ void RefineSearchWidget::setup() {
     if (isSetup) return;
     isSetup = true;
 
-    static const int spacing = 15;
-    setFont(FontUtils::medium());
+    const int spacing = 15;
 
     QBoxLayout *layout = new QVBoxLayout(this);
     layout->setAlignment(Qt::AlignTop | Qt::AlignHCenter);
-    layout->setMargin(spacing*2);
+    layout->setMargin(spacing);
     layout->setSpacing(spacing);
 
     QString paramName = "sortBy";
@@ -57,10 +56,9 @@ void RefineSearchWidget::setup() {
             << tr("View Count")
             << tr("Rating");
     int i = 0;
-    foreach (QString actionName, sortOptions) {
+    foreach (const QString &actionName, sortOptions) {
         QAction *action = new QAction(actionName, sortBar);
         action->setCheckable(true);
-        action->setFont(FontUtils::medium());
         action->setProperty("paramValue", i);
         sortGroup->addAction(action);
         sortBar->addAction(action);
@@ -78,10 +76,9 @@ void RefineSearchWidget::setup() {
             << tr("7 Days")
             << tr("30 Days");
     i = 0;
-    foreach (QString actionName, timeSpans) {
+    foreach (const QString &actionName, timeSpans) {
         QAction *action = new QAction(actionName, timeBar);
         action->setCheckable(true);
-        action->setFont(FontUtils::medium());
         action->setProperty("paramValue", i);
         timeGroup->addAction(action);
         timeBar->addAction(action);
@@ -104,11 +101,10 @@ void RefineSearchWidget::setup() {
             << tr("Between 4 and 20 minutes")
             << tr("Longer than 20 minutes");
     i = 0;
-    foreach (QString actionName, lengthOptions) {
+    foreach (const QString &actionName, lengthOptions) {
         QAction *action = new QAction(actionName, timeBar);
         action->setStatusTip(tips.at(i));
         action->setCheckable(true);
-        action->setFont(FontUtils::medium());
         action->setProperty("paramValue", i);
         lengthGroup->addAction(action);
         lengthBar->addAction(action);
@@ -127,11 +123,10 @@ void RefineSearchWidget::setup() {
             << ""
             << tr("720p or higher");
     i = 0;
-    foreach (QString actionName, qualityOptions) {
+    foreach (const QString &actionName, qualityOptions) {
         QAction *action = new QAction(actionName, timeBar);
         action->setStatusTip(tips.at(i));
         action->setCheckable(true);
-        action->setFont(FontUtils::medium());
         action->setProperty("paramValue", i);
         qualityGroup->addAction(action);
         qualityBar->addAction(action);
@@ -143,15 +138,16 @@ void RefineSearchWidget::setup() {
     doneButton->setDefault(true);
     doneButton->setAutoDefault(true);
     doneButton->setFocusPolicy(Qt::StrongFocus);
-    doneButton->setFont(FontUtils::medium());
+#ifndef APP_MAC
     doneButton->setProperty("custom", true);
     doneButton->setProperty("important", true);
     doneButton->setProperty("big", true);
+#endif
     connect(doneButton, SIGNAL(clicked()), SLOT(doneClicked()));
     layout->addWidget(doneButton, 0, Qt::AlignLeft);
 }
 
-void RefineSearchWidget::setupLabel(QString text, QBoxLayout *layout, QString paramName) {
+void RefineSearchWidget::setupLabel(const QString &text, QBoxLayout *layout, const QString &paramName) {
     QBoxLayout* hLayout = new QHBoxLayout();
     hLayout->setSpacing(8);
     hLayout->setMargin(0);
@@ -160,7 +156,8 @@ void RefineSearchWidget::setupLabel(QString text, QBoxLayout *layout, QString pa
     QLabel *icon = new QLabel(this);
     icon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     QString resource = paramName;
-    QPixmap pixmap = QPixmap(":/images/search-" + resource + ".png");
+    QPixmap pixmap = IconUtils::pixmap(":/images/search-" + resource + ".png");
+    /*
     QPixmap translucentPixmap(pixmap.size());
     translucentPixmap.fill(Qt::transparent);
     QPainter painter;
@@ -168,12 +165,11 @@ void RefineSearchWidget::setupLabel(QString text, QBoxLayout *layout, QString pa
     painter.setOpacity(0.5);
     painter.drawPixmap(0, 0, pixmap);
     painter.end();
-    icon->setPixmap(translucentPixmap);
+    */
+    icon->setPixmap(pixmap);
     hLayout->addWidget(icon);
 
-    QLabel *label = new QLabel(text.toUpper(), this);
-    label->setFont(FontUtils::mediumBold());
-    label->setStyleSheet("color: rgba(0, 0, 0, 128);");
+    QLabel *label = new QLabel(text, this);
     hLayout->addWidget(label);
 
     icon->setMaximumHeight(label->height());
@@ -181,32 +177,17 @@ void RefineSearchWidget::setupLabel(QString text, QBoxLayout *layout, QString pa
     layout->addLayout(hLayout);
 }
 
-QToolBar* RefineSearchWidget::setupBar(QString paramName) {
+QToolBar* RefineSearchWidget::setupBar(const QString &paramName) {
     QToolBar* bar = new QToolBar(this);
     bar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     // bar->setProperty("segmented", true);
-    bar->setFont(FontUtils::medium());
     bar->setProperty("paramName", paramName);
-    connect(bar, SIGNAL(actionTriggered(QAction*)),
-            SLOT(actionTriggered(QAction*)));
+    connect(bar, SIGNAL(actionTriggered(QAction*)), SLOT(actionTriggered(QAction*)));
     bars.insert(paramName, bar);
     layout()->addWidget(bar);
     return bar;
 }
 
-void RefineSearchWidget::paintEvent(QPaintEvent * /*event*/) {
-#if defined(APP_MAC) | defined(APP_WIN)
-    QBrush brush;
-    if (window()->isActiveWindow()) {
-        brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
-    } else {
-        brush = palette().window();
-    }
-    QPainter painter(this);
-    painter.fillRect(0, 0, width(), height(), brush);
-#endif
-}
-
 void RefineSearchWidget::actionTriggered(QAction *action) {
     QToolBar *bar = static_cast<QToolBar *>(sender());
     if (!bar) {
index 809d388690936aa2ed06a00a98e405aae8469609..379fc385d98685adb96e7d5512a528bc536117cb 100644 (file)
@@ -43,9 +43,6 @@ signals:
     void paramChanged(QString name, QVariant value);
     void searchRefined();
     void done();
-    
-protected:
-    void paintEvent(QPaintEvent *);
 
 private slots:
     void actionTriggered(QAction* action);
@@ -53,8 +50,8 @@ private slots:
 
 private:
     void setup();
-    void setupLabel(QString text, QBoxLayout* layout, QString paramName);
-    QToolBar *setupBar(QString paramName);
+    void setupLabel(const QString &text, QBoxLayout* layout, const QString &paramName);
+    QToolBar *setupBar(const QString &paramName);
 
     QHash<QString, QToolBar*> bars;
     bool dirty;
index a6189aa3faaced75b0e4283a7de680210b8a8b7b..53a47635ca514ac08504c0a19d83e346399df3df 100644 (file)
@@ -22,7 +22,7 @@ $END_LICENSE */
 #include "ytregions.h"
 #include "mainwindow.h"
 
-RegionsView::RegionsView(QWidget *parent) : QWidget(parent) {
+RegionsView::RegionsView(QWidget *parent) : View(parent) {
     QBoxLayout *l = new QVBoxLayout(this);
     l->setMargin(30);
     l->setSpacing(30);
@@ -39,11 +39,13 @@ RegionsView::RegionsView(QWidget *parent) : QWidget(parent) {
     doneButton = new QPushButton(tr("Done"));
     doneButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     doneButton->setDefault(true);
+#ifndef APP_MAC
     doneButton->setProperty("custom", true);
     doneButton->setProperty("important", true);
     doneButton->setProperty("big", true);
+#endif
     connect(doneButton, SIGNAL(clicked()), MainWindow::instance(), SLOT(goBack()));
-    l->addWidget(doneButton, 0, Qt::AlignCenter);
+    l->addWidget(doneButton, 0, Qt::AlignHCenter | Qt::AlignTop);
 }
 
 void RegionsView::addRegion(const YTRegion &region) {
index 73681881610ea038e50b44d073cb6e49032c4379..82cc7a22c52f23256eb54e79e7c366309855dde8 100644 (file)
@@ -27,9 +27,9 @@ $END_LICENSE */
 #endif
 #include "view.h"
 
-class YTRegion;
+struct YTRegion;
 
-class RegionsView : public QWidget, public View {
+class RegionsView : public View {
 
     Q_OBJECT
 
index d31675275b7e3a1e4f8f1b84af4c73f1dc458c3a..bbd2fe59e67bcec474aebb2e83722498380e2fda 100644 (file)
@@ -1,72 +1,17 @@
 #include "searchlineedit.h"
-
-#include <QPainter>
-#include <QMouseEvent>
-#include <QMenu>
-#include <QStyle>
-#include <QStyleOptionFrameV2>
-
 #include "autocomplete.h"
 #include "iconutils.h"
 
-ClearButton::ClearButton(QWidget *parent) : QAbstractButton(parent), hovered(false), mousePressed(false) {
-    setCursor(Qt::ArrowCursor);
-    setToolTip(tr("Clear"));
-    setVisible(false);
-    setFocusPolicy(Qt::NoFocus);
-}
-
-void ClearButton::paintEvent(QPaintEvent *e) {
-    Q_UNUSED(e);
-    QPainter painter(this);
-    const int h = height();
-    int iconSize = 16;
-    if (h > 30) iconSize = 22;
-    QIcon::Mode iconMode = QIcon::Normal;
-    if (mousePressed) iconMode = QIcon::Active;
-    QPixmap p = IconUtils::icon("edit-clear").pixmap(iconSize, iconSize, iconMode);
-    // QPixmap p = IconUtils::tintedIcon("edit-clear", Qt::black, QSize(iconSize, iconSize)).pixmap(iconSize, iconSize, iconMode);
-    int x = (width() - p.width()) / 2;
-    int y = (h - p.height()) / 2;
-    painter.drawPixmap(x, y, p);
-}
-
-void ClearButton::textChanged(const QString &text) {
-    setVisible(!text.isEmpty());
-}
-
-void ClearButton::enterEvent(QEvent *e) {
-    Q_UNUSED(e);
-    hovered = true;
-}
-
-void ClearButton::leaveEvent(QEvent *e) {
-    Q_UNUSED(e);
-    hovered = false;
-}
-
-void ClearButton::mousePressEvent(QEvent *e) {
-    Q_UNUSED(e);
-    mousePressed = true;
-}
-
-void ClearButton::mouseReleaseEvent(QEvent *e) {
-    Q_UNUSED(e);
-    mousePressed = false;
-}
-
-/*
-    Search icon on the left hand side of the search widget
-    When a menu is set a down arrow appears
- */
 class SearchButton : public QAbstractButton {
+
 public:
     SearchButton(QWidget *parent = 0);
-    void paintEvent(QPaintEvent *event);
     QMenu *m_menu;
 
 protected:
-    void mousePressEvent(QMouseEvent *event);
+    void paintEvent(QPaintEvent *e);
+    void mousePressEvent(QMouseEvent *e);
+
 };
 
 SearchButton::SearchButton(QWidget *parent)
@@ -77,20 +22,20 @@ SearchButton::SearchButton(QWidget *parent)
     setFocusPolicy(Qt::NoFocus);
 }
 
-void SearchButton::mousePressEvent(QMouseEvent *event) {
-    if (m_menu && event->button() == Qt::LeftButton) {
+void SearchButton::mousePressEvent(QMouseEvent *e) {
+    if (m_menu && e->button() == Qt::LeftButton) {
         QWidget *p = parentWidget();
         if (p) {
             QPoint r = p->mapToGlobal(QPoint(0, p->height()));
             m_menu->exec(QPoint(r.x() + height() / 2, r.y()));
         }
-        event->accept();
+        e->accept();
     }
-    QAbstractButton::mousePressEvent(event);
+    QAbstractButton::mousePressEvent(e);
 }
 
-void SearchButton::paintEvent(QPaintEvent *event) {
-    Q_UNUSED(event);
+void SearchButton::paintEvent(QPaintEvent *e) {
+    Q_UNUSED(e);
     QPainter painter(this);
     const int h = height();
     int iconSize = 16;
@@ -101,17 +46,10 @@ void SearchButton::paintEvent(QPaintEvent *event) {
     painter.drawPixmap(x, y, p);
 }
 
-/*
-    SearchLineEdit is an enhanced QLineEdit
-    - A Search icon on the left with optional menu
-    - When there is no text and doesn't have focus an "inactive text" is displayed
-    - When there is text a clear button is displayed on the right hand side
- */
-SearchLineEdit::SearchLineEdit(QWidget *parent) : ExLineEdit(parent),
-searchButton(new SearchButton(this)) {
-    connect(lineEdit(), SIGNAL(textChanged(const QString &)), SIGNAL(textChanged(const QString &)));
-    connect(lineEdit(), SIGNAL(textEdited(const QString &)), SIGNAL(textEdited(const QString &)));
-    connect(lineEdit(), SIGNAL(returnPressed()), SLOT(returnPressed()));
+SearchLineEdit::SearchLineEdit(QWidget *parent) : ExLineEdit(parent), searchButton(new SearchButton(this)) {
+    connect(m_lineEdit, SIGNAL(textChanged(const QString &)), SIGNAL(textChanged(const QString &)));
+    connect(m_lineEdit, SIGNAL(textEdited(const QString &)), SIGNAL(textEdited(const QString &)));
+    connect(m_lineEdit, SIGNAL(returnPressed()), SLOT(returnPressed()));
 
     setLeftWidget(searchButton);
     inactiveText = tr("Search");
@@ -124,27 +62,25 @@ searchButton(new SearchButton(this)) {
     connect(autoComplete, SIGNAL(suggestionAccepted(Suggestion*)), SIGNAL(suggestionAccepted(Suggestion*)));
 }
 
-void SearchLineEdit::paintEvent(QPaintEvent *event) {
-    if (lineEdit()->text().isEmpty() && !hasFocus() && !inactiveText.isEmpty()) {
-        ExLineEdit::paintEvent(event);
+void SearchLineEdit::paintEvent(QPaintEvent *e) {
+    ExLineEdit::paintEvent(e);
+    if (m_lineEdit->text().isEmpty() && !hasFocus() && !inactiveText.isEmpty()) {
         QStyleOptionFrameV2 panel;
         initStyleOption(&panel);
         QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
         QFontMetrics fm = fontMetrics();
-        int horizontalMargin = lineEdit()->x();
+        int horizontalMargin = m_lineEdit->x();
         QRect lineRect(horizontalMargin + r.x(), r.y() + (r.height() - fm.height() + 1) / 2,
                        r.width() - 2 * horizontalMargin, fm.height());
         QPainter painter(this);
         painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color());
-        painter.drawText(lineRect, Qt::AlignLeft|Qt::AlignVCenter, inactiveText);
-    } else {
-        ExLineEdit::paintEvent(event);
+        painter.drawText(lineRect, Qt::AlignLeft | Qt::AlignVCenter, inactiveText);
     }
 }
 
-void SearchLineEdit::resizeEvent(QResizeEvent *event) {
+void SearchLineEdit::resizeEvent(QResizeEvent *e) {
     updateGeometries();
-    ExLineEdit::resizeEvent(event);
+    ExLineEdit::resizeEvent(e);
 }
 
 void SearchLineEdit::updateGeometries() {
@@ -159,6 +95,14 @@ void SearchLineEdit::setInactiveText(const QString &text) {
     inactiveText = text;
 }
 
+void SearchLineEdit::setText(const QString &text) {
+    m_lineEdit->setText(text);
+}
+
+AutoComplete *SearchLineEdit::getAutoComplete() {
+    return autoComplete;
+}
+
 void SearchLineEdit::setMenu(QMenu *menu) {
     if (searchButton->m_menu)
         searchButton->m_menu->deleteLater();
@@ -176,9 +120,10 @@ QMenu *SearchLineEdit::menu() const {
 }
 
 void SearchLineEdit::returnPressed() {
-    if (!lineEdit()->text().isEmpty()) {
+    QString text = m_lineEdit->text().simplified();
+    if (!text.isEmpty()) {
         autoComplete->preventSuggest();
-        emit search(lineEdit()->text());
+        emit search(text);
     }
 }
 
@@ -190,7 +135,33 @@ void SearchLineEdit::preventSuggest() {
     autoComplete->preventSuggest();
 }
 
-void SearchLineEdit::focusInEvent(QFocusEvent *event) {
-    ExLineEdit::focusInEvent(event);
+void SearchLineEdit::selectAll() {
+    m_lineEdit->selectAll();
+}
+
+void SearchLineEdit::setSuggester(Suggester *suggester) {
+    autoComplete->setSuggester(suggester);
+}
+
+void SearchLineEdit::focusInEvent(QFocusEvent *e) {
+    ExLineEdit::focusInEvent(e);
     enableSuggest();
 }
+
+void SearchLineEdit::emitTextChanged(const QString &text) {
+    autoComplete->enableSuggest();
+    emit textEdited(text);
+}
+
+QString SearchLineEdit::text() {
+    return m_lineEdit->text();
+}
+
+QLineEdit *SearchLineEdit::getLineEdit() {
+    return m_lineEdit;
+}
+
+void SearchLineEdit::setEnabled(bool enabled) {
+    ExLineEdit::setEnabled(enabled);
+    emit enabledChanged(enabled);
+}
index 64b0d285a1da979d2b66eee1eb7e863dee741297..d7d8c8b11b4a0eef6e947873bfd4824f48991c4f 100644 (file)
@@ -1,49 +1,42 @@
 #ifndef SEARCHLINEEDIT_H
 #define SEARCHLINEEDIT_H
 
-#include "urllineedit.h"
-#include "autocomplete.h"
+#include <QtGui>
+#if QT_VERSION >= 0x050000
+#include <QtWidgets>
+#endif
 
-#include <QLineEdit>
-#include <QAbstractButton>
-
-QT_BEGIN_NAMESPACE
-class QMenu;
-QT_END_NAMESPACE
+#include "exlineedit.h"
+#include "searchwidget.h"
 
 class SearchButton;
 class Suggester;
+class AutoComplete;
 
-/*
-    Clear button on the right hand side of the search widget.
-    Hidden by default
- */
-class ClearButton : public QAbstractButton {
+class SearchLineEdit : public ExLineEdit, public SearchWidget {
 
     Q_OBJECT
 
 public:
-    ClearButton(QWidget *parent = 0);
-    void paintEvent(QPaintEvent *e);
-
-public slots:
-    void textChanged(const QString &text);
-
-protected:
-    void enterEvent(QEvent *e);
-    void leaveEvent(QEvent *e);
-
-    void mousePressEvent(QEvent *e);
-    void mouseReleaseEvent(QEvent *e);
-
-private:
-    bool hovered;
-    bool mousePressed;
-};
+    SearchLineEdit(QWidget *parent = 0);
+    QMenu *menu() const;
+    void setMenu(QMenu *menu);
+    void enableSuggest();
+    void preventSuggest();
+    void selectAll();
+    void setSuggester(Suggester *suggester);
+    void setInactiveText(const QString &text);
+    void setText(const QString &text);
+    AutoComplete *getAutoComplete();
+    void emitTextChanged(const QString &text);
+    QString text();
+    QLineEdit *getLineEdit();
+    QWidget *toWidget() { return qobject_cast<QWidget*>(this); }
 
-class SearchLineEdit : public ExLineEdit {
+    void setEnabled(bool enabled);
 
-    Q_OBJECT
+public slots:
+    void returnPressed();
 
 signals:
     void textChanged(const QString &text);
@@ -51,27 +44,13 @@ signals:
     void search(const QString &text);
     void suggestionAccepted(Suggestion *suggestion);
 
-public:
-    SearchLineEdit(QWidget *parent = 0);
-
-    void setInactiveText(const QString &text);
-
-    QMenu *menu() const;
-    void setMenu(QMenu *menu);
-    void updateGeometries();
-    void enableSuggest();
-    void preventSuggest();
-    void selectAll() { lineEdit()->selectAll(); }
-    void setSuggester(Suggester *suggester) { autoComplete->setSuggester(suggester); }
-    void setText(const QString &text) { lineEdit()->setText(text); }
+    void enabledChanged(bool enabled);
 
 protected:
-    void resizeEvent(QResizeEvent *event);
-    void paintEvent(QPaintEvent *event);
-    void focusInEvent(QFocusEvent *event);
-
-private slots:
-    void returnPressed();
+    void updateGeometries();
+    void resizeEvent(QResizeEvent *e);
+    void paintEvent(QPaintEvent *e);
+    void focusInEvent(QFocusEvent *e);
 
 private:
     SearchButton *searchButton;
index 17a8dfa68247dd4b86afc236590c8e9c44aa3c65..47ab4def1a1cb44aa23eba4b4249fbe885658886 100644 (file)
@@ -29,7 +29,7 @@ SearchParams::SearchParams(QObject *parent) : QObject(parent) {
     m_publishedAfter = 0;
 }
 
-void SearchParams::setParam(QString name, QVariant value) {
+void SearchParams::setParam(const QString &name, const QVariant &value) {
     bool success = setProperty(name.toUtf8(), value);
     if (!success) qWarning() << "Failed to set property" << name << value.toString();
 }
index f55dcebaf2e1641dd97f9d5a3fa0a5f8e3777f94..c408c89aaf2ed0ec77821e37902acb38bc4e15dc 100644 (file)
@@ -91,7 +91,7 @@ public:
     }
 
 public slots:
-    void setParam(QString name, QVariant value);
+    void setParam(const QString &name, const QVariant &value);
 
 private:
     QString m_keywords;
index a0037a3d48a0b71690ed0bd59a9e6d073a49d5b5..e5fbae75625d8ac3c00e623407a89ace2a1333c5 100644 (file)
@@ -24,7 +24,7 @@ $END_LICENSE */
 #include "searchparams.h"
 #include "ytsuggester.h"
 #include "channelsuggest.h"
-#ifdef APP_MAC
+#ifdef APP_MAC_SEARCHFIELD
 #include "searchlineedit_mac.h"
 #else
 #include "searchlineedit.h"
@@ -37,6 +37,7 @@ $END_LICENSE */
 #endif
 #include "mainwindow.h"
 #include "painterutils.h"
+#include "iconutils.h"
 
 namespace The {
 QHash<QString, QAction*>* globalActions();
@@ -46,10 +47,7 @@ static const QString recentKeywordsKey = "recentKeywords";
 static const QString recentChannelsKey = "recentChannels";
 static const int PADDING = 30;
 
-SearchView::SearchView(QWidget *parent) : QWidget(parent) {
-
-    QFont biggerFont = FontUtils::big();
-    QFont smallerFont = FontUtils::smallBold();
+SearchView::SearchView(QWidget *parent) : View(parent) {
 
 #if defined(APP_MAC) | defined(APP_WIN)
     // speedup painting since we'll paint the whole background
@@ -57,8 +55,6 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     setAttribute(Qt::WA_OpaquePaintEvent);
 #endif
 
-    setAutoFillBackground(true);
-
     QBoxLayout *mainLayout = new QVBoxLayout(this);
     mainLayout->setMargin(PADDING);
     mainLayout->setSpacing(0);
@@ -75,7 +71,7 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     mainLayout->addLayout(hLayout);
 
     QLabel *logo = new QLabel(this);
-    logo->setPixmap(QPixmap(":/images/app.png"));
+    logo->setPixmap(IconUtils::pixmap(":/images/app.png"));
     hLayout->addWidget(logo, 0, Qt::AlignTop);
     hLayout->addSpacing(PADDING);
 
@@ -86,20 +82,18 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     QLabel *welcomeLabel =
             new QLabel("<h1 style='font-weight:100'>" +
                        tr("Welcome to <a href='%1'>%2</a>,")
-                       // .replace("<a ", "<a style='color:palette(text)'")
-                       .replace("<a ", "<a style='text-decoration:none; color:palette(text);font-weight:"
-                            #if defined(APP_UBUNTU) || defined(APP_WIN)
-                                "normal"
-                            #else
-                                "normal"
-                            #endif
-                                "' ")
+                       .replace("<a ", "<a style='text-decoration:none; color:palette(text);font-weight:normal' ")
                        .arg(Constants::WEBSITE, Constants::NAME)
                        + "</h1>", this);
     welcomeLabel->setOpenExternalLinks(true);
-#ifdef APP_WIN
+    welcomeLabel->setProperty("heading", true);
+#ifdef APP_MAC
+    QFont f = welcomeLabel->font();
+    f.setFamily("Helvetica Neue");
+    f.setStyleName("Thin");
+    welcomeLabel->setFont(f);
+#elif APP_WIN
     QFont f = welcomeLabel->font();
-    f.setHintingPreference(QFont::PreferNoHinting);
     f.setFamily("Segoe UI Light");
     welcomeLabel->setFont(f);
 #endif
@@ -110,20 +104,30 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     QBoxLayout *tipLayout = new QHBoxLayout();
     tipLayout->setSpacing(10);
 
+#ifndef APP_MAC
+    const QFont &biggerFont = FontUtils::big();
+#endif
+
     //: "Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"
     QLabel *tipLabel = new QLabel(tr("Enter"), this);
+#ifndef APP_MAC
     tipLabel->setFont(biggerFont);
+#endif
     tipLayout->addWidget(tipLabel);
 
     typeCombo = new QComboBox(this);
     typeCombo->addItem(tr("a keyword"));
     typeCombo->addItem(tr("a channel"));
+#ifndef APP_MAC
     typeCombo->setFont(biggerFont);
+#endif
     connect(typeCombo, SIGNAL(currentIndexChanged(int)), SLOT(searchTypeChanged(int)));
     tipLayout->addWidget(typeCombo);
 
     tipLabel = new QLabel(tr("to start watching videos."), this);
+#ifndef APP_MAC
     tipLabel->setFont(biggerFont);
+#endif
     tipLayout->addWidget(tipLabel);
     layout->addLayout(tipLayout);
 
@@ -132,22 +136,29 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     QHBoxLayout *searchLayout = new QHBoxLayout();
     searchLayout->setAlignment(Qt::AlignVCenter);
 
-    queryEdit = new SearchLineEdit(this);
-#ifndef APP_MAC
-    queryEdit->setFont(biggerFont);
+#ifdef APP_MAC_SEARCHFIELD
+    queryEdit = new SearchLineEditMac(this);
+#else
+    SearchLineEdit *sle = new SearchLineEdit(this);
+    sle->setFont(biggerFont);
+    queryEdit = sle;
 #endif
-    connect(queryEdit, SIGNAL(search(const QString&)), SLOT(watch(const QString&)));
-    connect(queryEdit, SIGNAL(textEdited(const QString &)), SLOT(textChanged(const QString &)));
-    connect(queryEdit, SIGNAL(suggestionAccepted(Suggestion*)), SLOT(suggestionAccepted(Suggestion*)));
+
+    connect(queryEdit->toWidget(), SIGNAL(search(const QString&)), SLOT(watch(const QString&)));
+    connect(queryEdit->toWidget(), SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+    connect(queryEdit->toWidget(), SIGNAL(suggestionAccepted(Suggestion*)), SLOT(suggestionAccepted(Suggestion*)));
 
     youtubeSuggest = new YTSuggester(this);
     channelSuggest = new ChannelSuggest(this);
     searchTypeChanged(0);
 
-    searchLayout->addWidget(queryEdit);
+    searchLayout->addWidget(queryEdit->toWidget());
     searchLayout->addSpacing(10);
 
     watchButton = new QPushButton(tr("Watch"), this);
+#ifndef APP_MAC
+    watchButton->setFont(biggerFont);
+#endif
     watchButton->setDefault(true);
     watchButton->setEnabled(false);
     watchButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
@@ -165,11 +176,9 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     recentKeywordsLayout = new QVBoxLayout();
     recentKeywordsLayout->setSpacing(5);
     recentKeywordsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
-    recentKeywordsLabel = new QLabel(tr("Recent keywords").toUpper(), this);
+    recentKeywordsLabel = new QLabel(tr("Recent keywords"), this);
     recentKeywordsLabel->setProperty("recentHeader", true);
-    recentKeywordsLabel->setForegroundRole(QPalette::Dark);
     recentKeywordsLabel->hide();
-    recentKeywordsLabel->setFont(smallerFont);
     recentKeywordsLayout->addWidget(recentKeywordsLabel);
 
     otherLayout->addLayout(recentKeywordsLayout);
@@ -178,11 +187,10 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
     recentChannelsLayout = new QVBoxLayout();
     recentChannelsLayout->setSpacing(5);
     recentChannelsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
-    recentChannelsLabel = new QLabel(tr("Recent channels").toUpper(), this);
+    recentChannelsLabel = new QLabel(tr("Recent channels"), this);
     recentChannelsLabel->setProperty("recentHeader", true);
     recentChannelsLabel->setForegroundRole(QPalette::Dark);
     recentChannelsLabel->hide();
-    recentChannelsLabel->setFont(smallerFont);
     recentChannelsLayout->addWidget(recentChannelsLabel);
 
     otherLayout->addLayout(recentChannelsLayout);
@@ -198,17 +206,26 @@ SearchView::SearchView(QWidget *parent) : QWidget(parent) {
 }
 
 void SearchView::appear() {
-    setUpdatesEnabled(false);
+    MainWindow::instance()->showActionInStatusBar(The::globalActions()->value("definition"), true);
+
     updateRecentKeywords();
     updateRecentChannels();
     queryEdit->selectAll();
     queryEdit->enableSuggest();
-    if (!queryEdit->hasFocus())
-        QTimer::singleShot(10, queryEdit, SLOT(setFocus()));
-    setUpdatesEnabled(true);
+
+    if (!queryEdit->toWidget()->hasFocus()) queryEdit->toWidget()->setFocus();
+}
+
+void SearchView::disappear() {
+    MainWindow::instance()->showActionInStatusBar(The::globalActions()->value("definition"), false);
 }
 
 void SearchView::updateRecentKeywords() {
+    // load
+    QSettings settings;
+    QStringList keywords = settings.value(recentKeywordsKey).toStringList();
+    if (keywords == recentKeywords) return;
+    recentKeywords = keywords;
 
     // cleanup
     QLayoutItem *item;
@@ -217,13 +234,10 @@ void SearchView::updateRecentKeywords() {
         delete item;
     }
 
-    // load
-    QSettings settings;
-    QStringList keywords = settings.value(recentKeywordsKey).toStringList();
     recentKeywordsLabel->setVisible(!keywords.isEmpty());
     The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
 
-    foreach (QString keyword, keywords) {
+    foreach (const QString &keyword, keywords) {
         QString link = keyword;
         QString display = keyword;
         if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
@@ -244,8 +258,8 @@ void SearchView::updateRecentKeywords() {
                                        + display + "</a>", this);
         itemLabel->setAttribute(Qt::WA_DeleteOnClose);
         itemLabel->setProperty("recentItem", true);
-        itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
-        // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        itemLabel->setMaximumWidth(queryEdit->toWidget()->width() + watchButton->width());
+        itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
         // Make links navigable with the keyboard too
         itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
         if (needStatusTip)
@@ -257,6 +271,11 @@ void SearchView::updateRecentKeywords() {
 }
 
 void SearchView::updateRecentChannels() {
+    // load
+    QSettings settings;
+    QStringList keywords = settings.value(recentChannelsKey).toStringList();
+    if (keywords == recentChannels) return;
+    recentChannels = keywords;
 
     // cleanup
     QLayoutItem *item;
@@ -265,13 +284,10 @@ void SearchView::updateRecentChannels() {
         delete item;
     }
 
-    // load
-    QSettings settings;
-    QStringList keywords = settings.value(recentChannelsKey).toStringList();
     recentChannelsLabel->setVisible(!keywords.isEmpty());
     // TODO The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
 
-    foreach (QString keyword, keywords) {
+    foreach (const QString &keyword, keywords) {
         QString link = keyword;
         QString display = keyword;
         int separator = keyword.indexOf('|');
@@ -284,7 +300,7 @@ void SearchView::updateRecentChannels() {
                                        + display + "</a>", this);
         itemLabel->setAttribute(Qt::WA_DeleteOnClose);
         itemLabel->setProperty("recentItem", true);
-        itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
+        itemLabel->setMaximumWidth(queryEdit->toWidget()->width() + watchButton->width());
         // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
         // Make links navigable with the keyboard too
         itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
@@ -304,24 +320,22 @@ void SearchView::textChanged(const QString &text) {
     watchButton->setEnabled(!text.simplified().isEmpty());
 }
 
-void SearchView::watch(QString query) {
-
-    query = query.simplified();
+void SearchView::watch(const QString &query) {
+    QString q = query.simplified();
 
     // check for empty query
-    if (query.length() == 0) {
-        queryEdit->setFocus(Qt::OtherFocusReason);
+    if (q.length() == 0) {
+        queryEdit->toWidget()->setFocus(Qt::OtherFocusReason);
         return;
     }
 
     SearchParams *searchParams = new SearchParams();
     if (typeCombo->currentIndex() == 0)
-        searchParams->setKeywords(query);
+        searchParams->setKeywords(q);
     else {
         // remove spaces from channel name
-        query = query.simplified();
-        query = query.remove(' ');
-        searchParams->setChannelId(query);
+        q.remove(' ');
+        searchParams->setChannelId(q);
         searchParams->setSortBy(SearchParams::SortByNewest);
     }
 
@@ -331,7 +345,7 @@ void SearchView::watch(QString query) {
 
 void SearchView::watchChannel(const QString &channelId) {
     if (channelId.length() == 0) {
-        queryEdit->setFocus(Qt::OtherFocusReason);
+        queryEdit->toWidget()->setFocus(Qt::OtherFocusReason);
         return;
     }
 
@@ -348,23 +362,22 @@ void SearchView::watchChannel(const QString &channelId) {
     emit search(searchParams);
 }
 
-void SearchView::watchKeywords(QString query) {
-
-    query = query.simplified();
+void SearchView::watchKeywords(const QString &query) {
+    QString q = query.simplified();
 
     // check for empty query
     if (query.length() == 0) {
-        queryEdit->setFocus(Qt::OtherFocusReason);
+        queryEdit->toWidget()->setFocus(Qt::OtherFocusReason);
         return;
     }
 
     if (typeCombo->currentIndex() == 0) {
-        queryEdit->setText(query);
+        queryEdit->setText(q);
         watchButton->setEnabled(true);
     }
 
     SearchParams *searchParams = new SearchParams();
-    searchParams->setKeywords(query);
+    searchParams->setKeywords(q);
 
     // go!
     emit search(searchParams);
@@ -375,7 +388,7 @@ void SearchView::paintEvent(QPaintEvent *event) {
 #if defined(APP_MAC) | defined(APP_WIN)
     QBrush brush;
     if (window()->isActiveWindow()) {
-        brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
+        brush = Qt::white;
     } else {
         brush = palette().window();
     }
@@ -389,7 +402,6 @@ void SearchView::paintEvent(QPaintEvent *event) {
     QPainter p(this);
     style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
 #endif
-    PainterUtils::topShadow(this);
 }
 
 void SearchView::searchTypeChanged(int index) {
@@ -399,7 +411,7 @@ void SearchView::searchTypeChanged(int index) {
         queryEdit->setSuggester(channelSuggest);
     }
     queryEdit->selectAll();
-    queryEdit->setFocus();
+    queryEdit->toWidget()->setFocus();
 }
 
 void SearchView::suggestionAccepted(Suggestion *suggestion) {
index a8022b6f724fcfc4ce3d6780d9f1ed313c58e397..01895eb7147fcc9c20832ee44b1eea2cc5d0e78e 100644 (file)
@@ -27,13 +27,13 @@ $END_LICENSE */
 #endif
 #include "view.h"
 
-class SearchLineEdit;
+class SearchWidget;
 class SearchParams;
 class YTSuggester;
 class ChannelSuggest;
 class Suggestion;
 
-class SearchView : public QWidget, public View {
+class SearchView : public View {
 
     Q_OBJECT
 
@@ -44,10 +44,10 @@ public:
 
 public slots:
     void appear();
-    void disappear() { }
-    void watch(QString query);
+    void disappear();
+    void watch(const QString &query);
     void watchChannel(const QString &channelId);
-    void watchKeywords(QString query);
+    void watchKeywords(const QString &query);
 
 signals:
     void search(SearchParams*);
@@ -66,7 +66,7 @@ private:
     ChannelSuggest *channelSuggest;
 
     QComboBox *typeCombo;
-    SearchLineEdit *queryEdit;
+    SearchWidget *queryEdit;
     QLabel *recentKeywordsLabel;
     QBoxLayout *recentKeywordsLayout;
     QLabel *recentChannelsLabel;
@@ -74,6 +74,8 @@ private:
     QLabel *message;
     QPushButton *watchButton;
 
+    QStringList recentKeywords;
+    QStringList recentChannels;
 };
 
 #endif // __SEARCHVIEW_H__
diff --git a/src/searchwidget.h b/src/searchwidget.h
new file mode 100644 (file)
index 0000000..b605710
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef SEARCHWIDGET
+#define SEARCHWIDGET
+
+#include <QtGui>
+#if QT_VERSION >= 0x050000
+#include <QtWidgets>
+#endif
+
+class SearchButton;
+class Suggester;
+class Suggestion;
+class AutoComplete;
+
+class SearchWidget {
+
+public:
+    virtual QMenu *menu() const = 0;
+    virtual void setMenu(QMenu *menu) = 0;
+    virtual void enableSuggest() = 0;
+    virtual void preventSuggest() = 0;
+    virtual void selectAll() = 0;
+    virtual void setSuggester(Suggester *suggester) = 0;
+    virtual void setInactiveText(const QString &text) = 0;
+    virtual void setText(const QString &text) = 0;
+    virtual AutoComplete *getAutoComplete() = 0;
+    virtual void emitTextChanged(const QString &text) = 0;
+    virtual void returnPressed() = 0;
+    virtual QString text() = 0;
+    virtual QLineEdit *getLineEdit() = 0;
+    virtual QWidget *toWidget() = 0;
+
+signals:
+    void textChanged(const QString &text);
+    void textEdited(const QString &text);
+    void search(const QString &text);
+    void suggestionAccepted(Suggestion *suggestion);
+
+};
+
+#endif // SEARCHWIDGET
index 27e63901b6358363718e3bbff3b6543842147a46..a355152ef6a89c037ae85d70a4fe2ca52c7d3fb6 100644 (file)
@@ -19,11 +19,11 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $END_LICENSE */
 
 #include "segmentedcontrol.h"
-#include "fontutils.h"
 #include "mainwindow.h"
 #include "painterutils.h"
+#include "fontutils.h"
 
-static const QColor borderColor = QColor(0x26, 0x26, 0x26);
+static const QColor borderColor = QColor(158, 157, 159);
 
 class SegmentedControl::Private {
 public:
@@ -36,6 +36,8 @@ public:
 SegmentedControl::SegmentedControl (QWidget *parent)
     : QWidget(parent), d(new SegmentedControl::Private) {
 
+    setFont(FontUtils::small());
+
     setMouseTracking(true);
 
     d->hoveredAction = 0;
@@ -87,8 +89,8 @@ void SegmentedControl::paintEvent (QPaintEvent * /*event*/) {
     QPainter p(this);
 
     QLinearGradient linearGrad(rect().topLeft(), rect().bottomLeft());
-    linearGrad.setColorAt(0, borderColor);
-    linearGrad.setColorAt(1, QColor(0x3c, 0x3c, 0x3c));
+    linearGrad.setColorAt(0, QColor(185, 183, 185));
+    linearGrad.setColorAt(1, QColor(176, 176, 178));
     p.fillRect(rect(), QBrush(linearGrad));
 
     // Calculate Buttons Size & Location
@@ -99,7 +101,6 @@ void SegmentedControl::paintEvent (QPaintEvent * /*event*/) {
     const int actionCount = d->actionList.size();
     for (int i = 0; i < actionCount; i++) {
         QAction *action = d->actionList.at(i);
-
         if (i + 1 == actionCount) {
             rect.setWidth(width - buttonWidth * (actionCount-1));
             drawButton(&p, rect, action);
@@ -107,9 +108,7 @@ void SegmentedControl::paintEvent (QPaintEvent * /*event*/) {
             drawButton(&p, rect, action);
             rect.moveLeft(rect.x() + rect.width());
         }
-
     }
-
 }
 
 void SegmentedControl::mouseMoveEvent (QMouseEvent *event) {
@@ -150,7 +149,7 @@ void SegmentedControl::mouseReleaseEvent(QMouseEvent *event) {
 void SegmentedControl::leaveEvent(QEvent *event) {
     QWidget::leaveEvent(event);
     // status tip
-    // static_cast<QMainWindow*>(window())->statusBar()->clearMessage();
+    MainWindow::instance()->statusBar()->clearMessage();
     d->hoveredAction = 0;
     d->pressedAction = 0;
     update();
@@ -174,9 +173,8 @@ QAction *SegmentedControl::hoveredAction(const QPoint& pos) const {
     return(d->actionList[buttonIndex]);
 }
 
-int SegmentedControl::calculateButtonWidth (void) const {
-    QFont smallerBoldFont = FontUtils::smallBold();
-    QFontMetrics fontMetrics(smallerBoldFont);
+int SegmentedControl::calculateButtonWidth() const {
+    QFontMetrics fontMetrics(font());
     int tmpItemWidth, itemWidth = 0;
     foreach (QAction *action, d->actionList) {
         tmpItemWidth = fontMetrics.width(action->text());
@@ -197,6 +195,7 @@ void SegmentedControl::drawButton (QPainter *painter,
 void SegmentedControl::drawUnselectedButton (QPainter *painter,
                                         const QRect& rect,
                                         const QAction *action) {
+    painter->setPen(QColor(0, 0, 0, 128));
     paintButton(painter, rect, action);
 }
 
@@ -212,11 +211,12 @@ void SegmentedControl::drawSelectedButton (QPainter *painter,
     QRadialGradient gradient(hCenter, 0,
                              width,
                              hCenter, 0);
-    gradient.setColorAt(1, Qt::black);
-    gradient.setColorAt(0, QColor(0x33, 0x33, 0x33));
+    gradient.setColorAt(1, QColor(212, 210, 212));
+    gradient.setColorAt(0, QColor(203, 203, 205));
     painter->fillRect(0, 0, width, height, QBrush(gradient));
 
     painter->restore();
+    painter->setPen(palette().windowText().color());
     paintButton(painter, rect, action);
 }
 
@@ -227,40 +227,23 @@ void SegmentedControl::paintButton(QPainter *painter, const QRect& rect, const Q
     const int height = rect.height();
     const int width = rect.width();
 
-    if (action == d->pressedAction && action != d->checkedAction) {
-        const int hCenter = width * .5;
-        QRadialGradient gradient(hCenter, 0,
-                                 width,
-                                 hCenter, 0);
-        gradient.setColorAt(1, QColor(0x00, 0x00, 0x00, 0));
-        gradient.setColorAt(0, QColor(0x00, 0x00, 0x00, 16));
-        painter->fillRect(0, 0, width, height, QBrush(gradient));
-    } else if (action == d->hoveredAction && action != d->checkedAction) {
-        const int hCenter = width * .5;
-        QRadialGradient gradient(hCenter, 0,
-                                 width,
-                                 hCenter, 0);
-        gradient.setColorAt(1, QColor(0xff, 0xff, 0xff, 0));
-        gradient.setColorAt(0, QColor(0xff, 0xff, 0xff, 16));
-        painter->fillRect(0, 0, width, height, QBrush(gradient));
-    }
-
-    painter->setPen(borderColor);
+    painter->save();
+    painter->setPen(QPen(borderColor, 1.0 / qApp->devicePixelRatio()));
 #if defined(APP_MAC) | defined(APP_WIN)
     painter->drawRect(-1, -1, width, height);
 #else
     painter->drawRect(0, 0, width, height - 1);
 #endif
-
-    painter->setFont(FontUtils::smallBold());
+    painter->restore();
 
     const QString text = action->text();
 
     // text shadow
+    /*
     painter->setPen(QColor(0, 0, 0, 128));
     painter->drawText(0, -1, width, height, Qt::AlignCenter, text);
+    */
 
-    painter->setPen(QPen(Qt::white, 1));
     painter->drawText(0, 0, width, height, Qt::AlignCenter, text);
 
     if (action->property("notifyCount").isValid()) {
@@ -271,5 +254,23 @@ void SegmentedControl::paintButton(QPainter *painter, const QRect& rect, const Q
         PainterUtils::paintBadge(painter, action->property("notifyCount").toString());
     }
 
+    if (action == d->pressedAction && action != d->checkedAction) {
+        const int hCenter = width * .5;
+        QRadialGradient gradient(hCenter, 0,
+                                 width,
+                                 hCenter, 0);
+        gradient.setColorAt(1, QColor(0x00, 0x00, 0x00, 0));
+        gradient.setColorAt(0, QColor(0x00, 0x00, 0x00, 32));
+        painter->fillRect(0, 0, width, height, QBrush(gradient));
+    } else if (action == d->hoveredAction && action != d->checkedAction) {
+        const int hCenter = width * .5;
+        QRadialGradient gradient(hCenter, 0,
+                                 width,
+                                 hCenter, 0);
+        gradient.setColorAt(1, QColor(0x00, 0x00, 0x00, 0));
+        gradient.setColorAt(0, QColor(0x00, 0x00, 0x00, 16));
+        painter->fillRect(0, 0, width, height, QBrush(gradient));
+    }
+
     painter->restore();
 }
index bab83b1aaafcdbc5abcd059773cd9770a742ac56..4f3ec85899c4f118185b31b60d99d2082ee19301 100644 (file)
@@ -62,7 +62,7 @@ private:
                     const QRect& rect,
                     const QAction *action);
     QAction *hoveredAction(const QPoint& pos) const;
-    int calculateButtonWidth(void) const;
+    int calculateButtonWidth() const;
 
     class Private;
     Private *d;
index 8399a9641b253a99e9b11b577db430c5157e4a53..b6fb87a2607bfb165cf89dbb000e2267aedfa63e 100644 (file)
@@ -23,7 +23,6 @@ $END_LICENSE */
 #include "mediaview.h"
 #include "videosource.h"
 #include "fontutils.h"
-#include "iconutils.h"
 
 SidebarHeader::SidebarHeader(QWidget *parent) : QToolBar(parent) { }
 
@@ -58,8 +57,8 @@ void SidebarHeader::setup() {
     addWidget(spacerWidget);
 }
 
-QSize SidebarHeader::minimumSizeHint (void) const {
-    return(QSize(160, QFontMetrics(font()).height() * 1.9));
+QSize SidebarHeader::minimumSizeHint() const {
+    return QSize(160, QFontMetrics(font()).height() * 1.9);
 }
 
 void SidebarHeader::updateInfo() {
@@ -99,12 +98,12 @@ void SidebarHeader::updateInfo() {
     setTitle(currentVideoSource->getName());
 }
 
-void SidebarHeader::updateTitle(QString title) {
+void SidebarHeader::updateTitle(const QString &title) {
     sender()->disconnect(this);
     setTitle(title);
 }
 
-void SidebarHeader::setTitle(QString title) {
+void SidebarHeader::setTitle(const QString &title) {
     this->title = title;
     update();
 
@@ -121,15 +120,15 @@ void SidebarHeader::paintEvent(QPaintEvent *event) {
     QToolBar::paintEvent(event);
     if (title.isEmpty()) return;
     QPainter p(this);
-    p.setFont(FontUtils::smallBold());
     p.setPen(Qt::white);
+    p.setFont(FontUtils::small());
 
     const QRect r = rect();
 
     QString t = title;
     QRect textBox = p.boundingRect(r, Qt::AlignCenter, t);
     int i = 1;
-    static const int margin = 50;
+    const int margin = forwardAction->isVisible() ? 45 : 20;
     while (textBox.width() > r.width() - margin*2 && t.length() > 3) {
         t = t.left(t.length() - i).trimmed() + QLatin1String("...");
         textBox = p.boundingRect(r, Qt::AlignCenter, t);
index 0ac551ef8dae51279b0c57c4280ee70951bb1854..db16aced69c99716b131d95161bb088078a2e72a 100644 (file)
@@ -39,14 +39,14 @@ protected:
     void paintEvent(QPaintEvent *event);
 
 private slots:
-    void updateTitle(QString title);
+    void updateTitle(const QString &title);
 
 private:
     void setup();
-    void setTitle(QString title);
+    void setTitle(const QString &title);
 
     QAction *backAction;
-    QAction * forwardAction;
+    QAction *forwardAction;
     QString title;
     QList<QAction*> videoSourceActions;
 };
index fd5fd40acdc672a56a5919e64767e7c454abbe75..676cf4fcbb15c1778c4f81a5efd08a919817538c 100644 (file)
@@ -31,7 +31,7 @@ QHash<QString, QAction*>* globalActions();
 }
 
 SidebarWidget::SidebarWidget(QWidget *parent) :
-    QWidget(parent) {
+    QWidget(parent), playlistWidth(0) {
     playlist = 0;
 
     QBoxLayout *layout = new QVBoxLayout(this);
@@ -94,6 +94,8 @@ void SidebarWidget::showPlaylist() {
 
 void SidebarWidget::showRefineSearchWidget() {
     if (!refineSearchWidget->isEnabled()) return;
+    playlistWidth = playlist->width();
+    refineSearchWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
     refineSearchWidget->setDirty(false);
     stackedWidget->setCurrentWidget(refineSearchWidget);
     // refineSearchWidget->setFocus();
@@ -105,6 +107,8 @@ void SidebarWidget::showRefineSearchWidget() {
 }
 
 void SidebarWidget::hideRefineSearchWidget() {
+    refineSearchWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+    playlist->resize(playlistWidth, playlist->height());
     stackedWidget->setCurrentWidget(playlist);
     playlist->setFocus();
 #ifdef APP_EXTRA
@@ -163,7 +167,7 @@ void SidebarWidget::showSuggestions(const QStringList &suggestions) {
     QString message = tr("Did you mean: %1");
 
     QString suggestionLinks;
-    foreach (QString suggestion, suggestions) {
+    foreach (const QString &suggestion, suggestions) {
         suggestionLinks += "<a href='" + suggestion + "'>" + suggestion + "</a> ";
     }
     message = message.arg(suggestionLinks);
index 2a1da99b90f26533e09070baae32840147902080..d936b979ac50a2a600ad692e3595ef5f070bb6ee 100644 (file)
@@ -70,6 +70,8 @@ private:
     QTimer *mouseTimer;
     QLabel *messageLabel;
     SidebarHeader *sidebarHeader;
+
+    int playlistWidth;
 };
 
 #endif // SIDEBARWIDGET_H
index 9766a2013010a11bd22b9075d51f4227c9c430ed..5468f2a08d35c258ea68bf8fe50ea403595e5b4e 100644 (file)
@@ -30,7 +30,7 @@ SnapshotPreview::SnapshotPreview(QWidget *parent) : QWidget(parent),
     setAttribute(Qt::WA_ShowWithoutActivating);
     setWindowFlags(Qt::FramelessWindowHint);
 #if QT_VERSION >= 0x050000
-    setWindowFlags(Qt::WindowDoesNotAcceptFocus);
+    setWindowFlags(windowFlags() | Qt::WindowDoesNotAcceptFocus);
 #endif
 
     setAttribute(Qt::WA_StaticContents);
index 116286b123aa3c9a662d70e8a65d0cfe898c4c52..b65d4fa1e3b3b0b31c6d9ed452b6a2b5ae0e8ac3 100644 (file)
@@ -20,11 +20,12 @@ $END_LICENSE */
 
 #include "snapshotsettings.h"
 #include "mainwindow.h"
-#include <QDesktopServices>
 #ifdef APP_MAC
 #include "macutils.h"
 #endif
 #include "constants.h"
+#include "compatibility/pathsservice.h"
+#include <QDesktopServices>
 
 SnapshotSettings::SnapshotSettings(QWidget *parent) : QWidget(parent) {
     QBoxLayout *layout = new QHBoxLayout(this);
@@ -75,11 +76,7 @@ QString SnapshotSettings::getCurrentLocation() {
     QSettings settings;
     QString location = settings.value("snapshotsFolder").toString();
     if (location.isEmpty() || !QFile::exists(location)) {
-#if QT_VERSION >= 0x050000
-        location = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
-#else
-        location = QDesktopServices::storageLocation(QDesktopServices::PicturesLocation);
-#endif
+        location = Paths::getPicturesLocation();
 #ifdef APP_MAC_STORE
         location += "/MinitubeforYouTube";
 #endif
@@ -92,36 +89,21 @@ QString SnapshotSettings::displayPath(const QString &path) {
     return QDir(path).dirName();
 #endif
 
-#if QT_VERSION >= 0x050000
-    QString home = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-    QString home = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
+    const QString home = Paths::getHomeLocation();
     QString displayPath = path;
     displayPath = displayPath.remove(home + "/");
     return displayPath;
 }
 
 void SnapshotSettings::changeFolder() {
-    QString path;
+    const QString path = Paths::getHomeLocation();
 #ifdef APP_MAC
     QFileDialog* dialog = new QFileDialog(this);
     dialog->setFileMode(QFileDialog::Directory);
     dialog->setOptions(QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly);
-#if QT_VERSION >= 0x050000
-    path = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-    path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
     dialog->setDirectory(path);
     dialog->open(this, SLOT(folderChosen(const QString &)));
 #else
-
-#if QT_VERSION >= 0x050000
-    path = QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
-#else
-    path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-#endif
     QString folder = QFileDialog::getExistingDirectory(window(), QString(),
                                                        path,
                                                        QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly);
index 0f0356493d88a3f8cb5dc14046c08cc8aaa0ca1c..799e54ddef9e7c2db09d1d793ce917f182602284 100644 (file)
@@ -30,7 +30,7 @@ namespace The {
 QHash<QString, QAction*>* globalActions();
 }
 
-StandardFeedsView::StandardFeedsView(QWidget *parent) : QWidget(parent),
+StandardFeedsView::StandardFeedsView(QWidget *parent) : View(parent),
     layout(0) {
     QPalette p = palette();
     p.setBrush(QPalette::Window, Qt::black);
@@ -73,9 +73,9 @@ void StandardFeedsView::load() {
         addVideoSourceWidget(feed);
 
     YTRegion region = YTRegions::currentRegion();
-    QToolButton *regionButton = MainWindow::instance()->getRegionButton();
-    regionButton->setText(region.name);
-    regionButton->setIcon(YTRegions::iconForRegionId(region.id));
+    QAction *regionAction = MainWindow::instance()->getRegionAction();
+    regionAction->setText(region.name);
+    regionAction->setIcon(YTRegions::iconForRegionId(region.id));
 }
 
 void StandardFeedsView::layoutCategories(const QList<YTCategory> &categories) {
@@ -114,8 +114,7 @@ QList<YTStandardFeed*> StandardFeedsView::getMainFeeds() {
     return feeds;
 }
 
-YTStandardFeed* StandardFeedsView::buildStardardFeed(
-        QString feedId, QString label, QString time) {
+YTStandardFeed* StandardFeedsView::buildStardardFeed(const QString &feedId, const QString &label, QString time) {
     YTStandardFeed *feed = new YTStandardFeed(this);
     feed->setFeedId(feedId);
     feed->setLabel(label);
@@ -132,12 +131,12 @@ void StandardFeedsView::appear() {
         load();
     }
     QAction *regionAction = MainWindow::instance()->getRegionAction();
-    regionAction->setVisible(true);
+    MainWindow::instance()->showActionInStatusBar(regionAction, true);
 }
 
 void StandardFeedsView::disappear() {
     QAction *regionAction = MainWindow::instance()->getRegionAction();
-    regionAction->setVisible(false);
+    MainWindow::instance()->showActionInStatusBar(regionAction, false);
 }
 
 void StandardFeedsView::selectWorldwideRegion() {
@@ -152,6 +151,5 @@ void StandardFeedsView::selectLocalRegion() {
 
 void StandardFeedsView::paintEvent(QPaintEvent *event) {
     QWidget::paintEvent(event);
-    // PainterUtils::topShadow(this);
 }
 
index f7e1485ffe2144e77a55f88f8fb9f1faaefb28b2..0f9e051180e280f288dfdee4cb979873ccc6b2e7 100644 (file)
@@ -28,10 +28,10 @@ $END_LICENSE */
 #include "view.h"
 
 class VideoSource;
-class YTCategory;
+struct YTCategory;
 class YTStandardFeed;
 
-class StandardFeedsView : public QWidget, public View {
+class StandardFeedsView : public View {
 
     Q_OBJECT
 
@@ -57,7 +57,7 @@ private slots:
 private:
     void addVideoSourceWidget(VideoSource *videoSource);
     QList<YTStandardFeed*> getMainFeeds();
-    YTStandardFeed* buildStardardFeed(QString feedId, QString label, QString time = QString());
+    YTStandardFeed* buildStardardFeed(const QString &feedId, const QString &label, QString time = QString());
     QGridLayout *layout;
     
 };
index 40bd5427efcd481659665ac4573f31fc4f35ff05..913d2446aa954c6c5dee6b535ff2bee7bb19d42d 100644 (file)
@@ -20,24 +20,21 @@ $END_LICENSE */
 
 #include "temporary.h"
 #include "constants.h"
+#include "compatibility/pathsservice.h"
 
 static QList<QString> paths;
-#ifdef Q_OS_LINUX
+#ifdef APP_LINUX
 static QString userName;
 #endif
 
 Temporary::Temporary() { }
 
 QString Temporary::filename() {
-#if QT_VERSION >= 0x050000
-    static const QString tempDir = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
-#else
-    static const QString tempDir = QDesktopServices::storageLocation(QDesktopServices::TempLocation);
-#endif
+    static const QString tempDir = Paths::getTempLocation();
 
     QString tempFile = tempDir + "/" + Constants::UNIX_NAME + "-" + QString::number(qrand());
 
-#ifdef Q_OS_LINUX
+#ifdef APP_LINUX
     if (userName.isNull()) {
         userName = QString(getenv("USERNAME"));
         if (userName.isEmpty())
@@ -67,7 +64,7 @@ QString Temporary::filename() {
 }
 
 void Temporary::deleteAll() {
-    foreach(QString path, paths) {
+    foreach(const QString &path, paths) {
         if (QFile::exists(path) && !QFile::remove(path)) {
             qDebug() << "Cannot remove temp file" << path;
         }
index 247fb5346d4db4f7b699a631aab86e7ec6a103f6..0c8ac286c4f61478c6efd2523d83c840c325d899 100644 (file)
@@ -24,6 +24,7 @@ $END_LICENSE */
 #ifdef APP_ACTIVATION
 #include "activation.h"
 #endif
+#include "compatibility/qurlqueryhelper.h"
 
 namespace The {
 NetworkAccess* http();
@@ -36,33 +37,25 @@ UpdateChecker::UpdateChecker() {
 void UpdateChecker::checkForUpdate() {
     QUrl url(QLatin1String(Constants::WEBSITE) + "-ws/release.xml");
 
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-
-        url.addQueryItem("v", Constants::VERSION);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("v", Constants::VERSION);
 
 #ifdef APP_MAC
-        url.addQueryItem("os", "mac");
+        urlHelper.addQueryItem("os", "mac");
 #endif
 #ifdef APP_WIN
-        url.addQueryItem("os", "win");
+        urlHelper.addQueryItem("os", "win");
 #endif
 #ifdef APP_ACTIVATION
         QString t = "demo";
         if (Activation::instance().isActivated()) t = "active";
-        url.addQueryItem("t", t);
+        urlHelper.addQueryItem("t", t);
 #endif
 #ifdef APP_MAC_STORE
-        url.addQueryItem("store", "mac");
+        urlHelper.addQueryItem("store", "mac");
 #endif
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
     }
-#endif
 
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(requestFinished(QByteArray)));
diff --git a/src/urllineedit.cpp b/src/urllineedit.cpp
deleted file mode 100644 (file)
index 1b79fd0..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "urllineedit.h"
-#include "searchlineedit.h"
-
-#include <QEvent>
-
-#include <QApplication>
-#include <QCompleter>
-#include <QFocusEvent>
-#include <QHBoxLayout>
-#include <QLabel>
-#include <QLineEdit>
-#include <QPainter>
-#include <QStyle>
-#include <QStyleOptionFrameV2>
-
-#include <QtCore/QDebug>
-
-ExLineEdit::ExLineEdit(QWidget *parent)
-    : QWidget(parent)
-    , m_leftWidget(0)
-    , m_lineEdit(new QLineEdit(this))
-    , m_clearButton(0)
-{
-    setFocusPolicy(m_lineEdit->focusPolicy());
-    setAttribute(Qt::WA_InputMethodEnabled);
-    setSizePolicy(m_lineEdit->sizePolicy());
-    setBackgroundRole(m_lineEdit->backgroundRole());
-    setMouseTracking(true);
-    setAcceptDrops(true);
-    setAttribute(Qt::WA_MacShowFocusRect, true);
-    QPalette p = m_lineEdit->palette();
-    setPalette(p);
-
-    // line edit
-    m_lineEdit->setFrame(false);
-    m_lineEdit->setFocusProxy(this);
-    m_lineEdit->setAttribute(Qt::WA_MacShowFocusRect, false);
-    m_lineEdit->setStyleSheet("background:transparent");
-    QPalette clearPalette = m_lineEdit->palette();
-    clearPalette.setBrush(QPalette::Base, QBrush(Qt::transparent));
-    m_lineEdit->setPalette(clearPalette);
-
-    // clearButton
-    m_clearButton = new ClearButton(this);
-    connect(m_clearButton, SIGNAL(clicked()),
-            m_lineEdit, SLOT(clear()));
-    connect(m_lineEdit, SIGNAL(textChanged(const QString&)),
-            m_clearButton, SLOT(textChanged(const QString&)));
-}
-
-void ExLineEdit::setFont(const QFont &font) {
-    m_lineEdit->setFont(font);
-    updateGeometries();
-}
-
-void ExLineEdit::setLeftWidget(QWidget *widget)
-{
-    m_leftWidget = widget;
-}
-
-QWidget *ExLineEdit::leftWidget() const
-{
-    return m_leftWidget;
-}
-
-void ExLineEdit::resizeEvent(QResizeEvent *event)
-{
-    Q_ASSERT(m_leftWidget);
-    updateGeometries();
-    QWidget::resizeEvent(event);
-}
-
-void ExLineEdit::updateGeometries()
-{
-    QStyleOptionFrameV2 panel;
-    initStyleOption(&panel);
-    QRect rect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
-
-    int padding = 3;
-    // int height = rect.height() + padding*2;
-    int width = rect.width();
-
-    // int m_leftWidgetHeight = m_leftWidget->height();
-    m_leftWidget->setGeometry(rect.x() + 2,          0,
-                              m_leftWidget->width(), m_leftWidget->height());
-
-    int clearButtonWidth = this->height();
-    m_lineEdit->setGeometry(m_leftWidget->x() + m_leftWidget->width(),        padding,
-                            width - clearButtonWidth - m_leftWidget->width(), this->height() - padding*2);
-
-    m_clearButton->setGeometry(this->width() - clearButtonWidth, 0,
-                               clearButtonWidth, this->height());
-}
-
-void ExLineEdit::initStyleOption(QStyleOptionFrameV2 *option) const
-{
-    option->initFrom(this);
-    option->rect = contentsRect();
-    option->lineWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, option, this);
-    option->midLineWidth = 0;
-    option->state |= QStyle::State_Sunken;
-    if (m_lineEdit->isReadOnly())
-        option->state |= QStyle::State_ReadOnly;
-#ifdef QT_KEYPAD_NAVIGATION
-    if (hasEditFocus())
-        option->state |= QStyle::State_HasEditFocus;
-#endif
-    option->features = QStyleOptionFrameV2::None;
-}
-
-QSize ExLineEdit::sizeHint() const
-{
-    m_lineEdit->setFrame(true);
-    QSize size = m_lineEdit->sizeHint();
-    m_lineEdit->setFrame(false);
-    size = size + QSize(3, 3);
-    return size;
-}
-
-void ExLineEdit::focusInEvent(QFocusEvent *event)
-{
-    m_lineEdit->event(event);
-    QWidget::focusInEvent(event);
-}
-
-void ExLineEdit::focusOutEvent(QFocusEvent *event)
-{
-    m_lineEdit->event(event);
-
-    if (m_lineEdit->completer()) {
-        connect(m_lineEdit->completer(), SIGNAL(activated(QString)),
-                         m_lineEdit, SLOT(setText(QString)));
-        connect(m_lineEdit->completer(), SIGNAL(highlighted(QString)),
-                         m_lineEdit, SLOT(_q_completionHighlighted(QString)));
-    }
-    QWidget::focusOutEvent(event);
-}
-
-void ExLineEdit::keyPressEvent(QKeyEvent *event)
-{
-    if (event->key() == Qt::Key_Escape && !m_lineEdit->text().isEmpty()) {
-        m_lineEdit->clear();
-    }
-    m_lineEdit->event(event);
-    QWidget::keyPressEvent(event);
-}
-
-bool ExLineEdit::event(QEvent *event)
-{
-    if (event->type() == QEvent::ShortcutOverride ||
-        event->type() == QEvent::InputMethod)
-        m_lineEdit->event(event);
-    return QWidget::event(event);
-}
-
-void ExLineEdit::paintEvent(QPaintEvent *)
-{
-    QPainter p(this);
-    QStyleOptionFrameV2 panel;
-    initStyleOption(&panel);
-    style()->drawPrimitive(QStyle::PE_PanelLineEdit, &panel, &p, this);
-}
diff --git a/src/urllineedit.h b/src/urllineedit.h
deleted file mode 100644 (file)
index 3cda04c..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/* $BEGIN_LICENSE
-
-This file is part of Minitube.
-Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
-
-Minitube 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 3 of the License, or
-(at your option) any later version.
-
-Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
-
-$END_LICENSE */
-
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the demonstration applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef URLLINEEDIT_H
-#define URLLINEEDIT_H
-
-#include <QUrl>
-#include <QWidget>
-#include <QLineEdit>
-#include <QStyleOptionFrame>
-
-QT_BEGIN_NAMESPACE
-class QLineEdit;
-QT_END_NAMESPACE
-
-class ClearButton;
-class ExLineEdit : public QWidget
-{
-    Q_OBJECT
-
-public:
-    ExLineEdit(QWidget *parent = 0);
-
-    inline QLineEdit *lineEdit() const { return m_lineEdit; }
-
-    void setLeftWidget(QWidget *widget);
-    QWidget *leftWidget() const;
-    void clear() {
-        m_lineEdit->clear();
-    }
-    QString text() {
-        return m_lineEdit->text();
-    }
-    QSize sizeHint() const;
-    void updateGeometries();
-    void setFont(const QFont &);
-
-protected:
-    void focusInEvent(QFocusEvent *event);
-    void focusOutEvent(QFocusEvent *event);
-    void keyPressEvent(QKeyEvent *event);
-    void paintEvent(QPaintEvent *event);
-    void resizeEvent(QResizeEvent *event);
-    bool event(QEvent *event);
-    void initStyleOption(QStyleOptionFrameV2 *option) const;
-
-    QWidget *m_leftWidget;
-    QLineEdit *m_lineEdit;
-    ClearButton *m_clearButton;
-};
-
-#endif // URLLINEEDIT_H
-
index 29b74b8125731e125886a0de2e4dc9a3beb99c90..5a1dbd00d2fdd00ea5dc7eb090471f9e409bcca2 100644 (file)
@@ -24,6 +24,8 @@ $END_LICENSE */
 #include "videodefinition.h"
 #include "jsfunctions.h"
 #include "temporary.h"
+#include "compatibility/qurlqueryhelper.h"
+#include "datautils.h"
 
 namespace The {
 NetworkAccess* http();
@@ -92,21 +94,18 @@ void Video::loadThumbnail() {
     connect(reply, SIGNAL(data(QByteArray)), SLOT(setThumbnail(QByteArray)));
 }
 
-void Video::setThumbnail(QByteArray bytes) {
+void Video::setThumbnail(const QByteArray &bytes) {
     loadingThumbnail = false;
+    qreal ratio = qApp->devicePixelRatio();
     m_thumbnail = QPixmap();
     m_thumbnail.loadFromData(bytes);
-    if (m_thumbnail.width() > 160)
-        m_thumbnail = m_thumbnail.scaledToWidth(160, Qt::SmoothTransformation);
+    m_thumbnail.setDevicePixelRatio(ratio);
+    const int thumbWidth = 160 * ratio;
+    if (m_thumbnail.width() > thumbWidth)
+        m_thumbnail = m_thumbnail.scaledToWidth(thumbWidth, Qt::SmoothTransformation);
     emit gotThumbnail();
 }
 
-void Video::loadMediumThumbnail() {
-    if (m_mediumThumbnailUrl.isEmpty()) return;
-    QObject *reply = The::http()->get(m_mediumThumbnailUrl);
-    connect(reply, SIGNAL(data(QByteArray)), SIGNAL(gotMediumThumbnail(QByteArray)));
-}
-
 void Video::loadStreamUrl() {
     if (loadingStreamUrl) {
         qDebug() << "Already loading stream URL for" << this->title();
@@ -123,28 +122,18 @@ void  Video::getVideoInfo() {
     static const QStringList elTypes = QStringList() << "&el=embedded" << "&el=detailpage" << "&el=vevo" << "";
 
     QUrl url;
-
     if (elIndex == elTypes.size()) {
         // qDebug() << "Trying special embedded el param";
         url = QUrl("https://www.youtube.com/get_video_info");
 
-#if QT_VERSION >= 0x050000
-        {
-            QUrl &u = url;
-            QUrlQuery url;
-#endif
-            url.addQueryItem("video_id", videoId);
-            url.addQueryItem("el", "embedded");
-            url.addQueryItem("gl", "US");
-            url.addQueryItem("hl", "en");
-            url.addQueryItem("eurl", "https://youtube.googleapis.com/v/" + videoId);
-            url.addQueryItem("asv", "3");
-            url.addQueryItem("sts", "1588");
-#if QT_VERSION >= 0x050000
-            u.setQuery(url);
-        }
-#endif
-
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("video_id", videoId);
+        urlHelper.addQueryItem("el", "embedded");
+        urlHelper.addQueryItem("gl", "US");
+        urlHelper.addQueryItem("hl", "en");
+        urlHelper.addQueryItem("eurl", "https://youtube.googleapis.com/v/" + videoId);
+        urlHelper.addQueryItem("asv", "3");
+        urlHelper.addQueryItem("sts", "1588");
     } else if (elIndex > elTypes.size() - 1) {
         qWarning() << "Cannot get video info";
         loadingStreamUrl = false;
@@ -164,8 +153,8 @@ void  Video::getVideoInfo() {
     // see you in gotVideoInfo...
 }
 
-void  Video::gotVideoInfo(QByteArray data) {
-    QString videoInfo = QString::fromUtf8(data);
+void  Video::gotVideoInfo(const QByteArray &bytes) {
+    QString videoInfo = QString::fromUtf8(bytes);
     // qDebug() << "videoInfo" << videoInfo;
 
     // get video token
@@ -204,22 +193,21 @@ void  Video::gotVideoInfo(QByteArray data) {
 }
 
 void Video::parseFmtUrlMap(const QString &fmtUrlMap, bool fromWebPage) {
-    QSettings settings;
-    QString definitionName = settings.value("definition", "360p").toString();
-    int definitionCode = VideoDefinition::getDefinitionCode(definitionName);
+    const QString definitionName = QSettings().value("definition", "360p").toString();
+    const VideoDefinition& definition = VideoDefinition::getDefinitionFor(definitionName);
 
     // qDebug() << "fmtUrlMap" << fmtUrlMap;
-    QStringList formatUrls = fmtUrlMap.split(',', QString::SkipEmptyParts);
+    const QStringList formatUrls = fmtUrlMap.split(',', QString::SkipEmptyParts);
     QHash<int, QString> urlMap;
-    foreach(QString formatUrl, formatUrls) {
+    foreach(const QString &formatUrl, formatUrls) {
         // qDebug() << "formatUrl" << formatUrl;
-        QStringList urlParams = formatUrl.split('&', QString::SkipEmptyParts);
+        const QStringList urlParams = formatUrl.split('&', QString::SkipEmptyParts);
         // qDebug() << "urlParams" << urlParams;
 
         int format = -1;
         QString url;
         QString sig;
-        foreach(QString urlParam, urlParams) {
+        foreach(const QString &urlParam, urlParams) {
             // qWarning() << urlParam;
             if (urlParam.startsWith("itag=")) {
                 int separator = urlParam.indexOf("=");
@@ -247,20 +235,13 @@ void Video::parseFmtUrlMap(const QString &fmtUrlMap, bool fromWebPage) {
                 } else {
 
                     QUrl url("http://www.youtube.com/watch");
-
-#if QT_VERSION >= 0x050000
                     {
-                        QUrl &u = url;
-                        QUrlQuery url;
-#endif
-                        url.addQueryItem("v", videoId);
-                        url.addQueryItem("gl", "US");
-                        url.addQueryItem("hl", "en");
-                        url.addQueryItem("has_verified", "1");
-#if QT_VERSION >= 0x050000
-                        u.setQuery(url);
+                        QUrlQueryHelper urlHelper(url);
+                        urlHelper.addQueryItem("v", videoId);
+                        urlHelper.addQueryItem("gl", "US");
+                        urlHelper.addQueryItem("hl", "en");
+                        urlHelper.addQueryItem("has_verified", "1");
                     }
-#endif
                     // qDebug() << "Loading webpage" << url;
                     QObject *reply = The::http()->get(url);
                     connect(reply, SIGNAL(data(QByteArray)), SLOT(scrapeWebPage(QByteArray)));
@@ -279,37 +260,25 @@ void Video::parseFmtUrlMap(const QString &fmtUrlMap, bool fromWebPage) {
 
         // qWarning() << url;
 
-        if (format == definitionCode) {
+        if (format == definition.getCode()) {
             // qDebug() << "Found format" << definitionCode;
-            QUrl videoUrl = QUrl::fromEncoded(url.toUtf8(), QUrl::StrictMode);
-            m_streamUrl = videoUrl;
-            this->definitionCode = definitionCode;
-            emit gotStreamUrl(videoUrl);
-            loadingStreamUrl = false;
+            saveDefinitionForUrl(url, definition);
             return;
         }
 
         urlMap.insert(format, url);
     }
 
-    QList<int> definitionCodes = VideoDefinition::getDefinitionCodes();
-    int currentIndex = definitionCodes.indexOf(definitionCode);
-    int previousIndex = 0;
-    while (currentIndex >= 0) {
-        previousIndex = currentIndex - 1;
-        if (previousIndex < 0) previousIndex = 0;
-        int definitionCode = definitionCodes.at(previousIndex);
-        if (urlMap.contains(definitionCode)) {
+    const QList<VideoDefinition>& definitions = VideoDefinition::getDefinitions();
+    int previousIndex = std::max(definitions.indexOf(definition) - 1, 0);
+    for (; previousIndex >= 0; previousIndex--) {
+        const VideoDefinition& previousDefinition = definitions.at(previousIndex);
+        if (urlMap.contains(previousDefinition.getCode())) {
             // qDebug() << "Found format" << definitionCode;
-            QString url = urlMap.value(definitionCode);
-            QUrl videoUrl = QUrl::fromEncoded(url.toUtf8(), QUrl::StrictMode);
-            m_streamUrl = videoUrl;
-            this->definitionCode = definitionCode;
-            emit gotStreamUrl(videoUrl);
-            loadingStreamUrl = false;
+            saveDefinitionForUrl(urlMap.value(previousDefinition.getCode()),
+                                 previousDefinition);
             return;
         }
-        currentIndex--;
     }
 
     emit errorStreamUrl(tr("Cannot get video stream for %1").arg(m_webpage));
@@ -320,8 +289,8 @@ void Video::errorVideoInfo(QNetworkReply *reply) {
     emit errorStreamUrl(tr("Network error: %1 for %2").arg(reply->errorString(), reply->url().toString()));
 }
 
-void Video::scrapeWebPage(QByteArray data) {
-    QString html = QString::fromUtf8(data);
+void Video::scrapeWebPage(const QByteArray &bytes) {
+    QString html = QString::fromUtf8(bytes);
 
     QRegExp ageGateRE(JsFunctions::instance()->ageGateRE());
     if (ageGateRE.indexIn(html) != -1) {
@@ -375,7 +344,7 @@ void Video::scrapeWebPage(QByteArray data) {
     }
 }
 
-void Video::parseJsPlayer(QByteArray bytes) {
+void Video::parseJsPlayer(const QByteArray &bytes) {
     QString js = QString::fromUtf8(bytes);
     // qWarning() << "jsPlayer" << js;
 
@@ -421,7 +390,7 @@ void Video::parseJsPlayer(QByteArray bytes) {
     parseFmtUrlMap(fmtUrlMap, true);
 }
 
-void Video::parseDashManifest(QByteArray bytes) {
+void Video::parseDashManifest(const QByteArray &bytes) {
     QFile file(Temporary::filename() + ".mpd");
     if (!file.open(QIODevice::WriteOnly))
         qWarning() << file.errorString() << file.fileName();
@@ -437,8 +406,12 @@ void Video::parseDashManifest(QByteArray bytes) {
 void Video::captureFunction(const QString &name, const QString &js) {
     QRegExp funcRe("function\\s+" + QRegExp::escape(name) + "\\s*\\([" + jsNameChars + ",\\s]*\\)\\s*\\{[^\\}]+\\}");
     if (funcRe.indexIn(js) == -1) {
-        qWarning() << "Cannot capture function" << name;
-        return;
+        // try var foo = function(bar) { };
+        funcRe = QRegExp("var\\s+" + QRegExp::escape(name) + "\\s*=\\s*function\\s*\\([" + jsNameChars + ",\\s]*\\)\\s*\\{[^\\}]+\\}");
+        if (funcRe.indexIn(js) == -1) {
+            qWarning() << "Cannot capture function" << name;
+            return;
+        }
     }
     QString func = funcRe.cap(0);
     sigFunctions.insert(name, func);
@@ -478,12 +451,12 @@ void Video::captureObject(const QString &name, const QString &js) {
 QString Video::decryptSignature(const QString &s) {
     if (sigFuncName.isEmpty()) return QString();
     QScriptEngine engine;
-    foreach (QString f, sigObjects.values()) {
+    foreach (const QString &f, sigObjects.values()) {
         QScriptValue value = engine.evaluate(f);
         if (value.isError())
             qWarning() << "Error in" << f << value.toString();
     }
-    foreach (QString f, sigFunctions.values()) {
+    foreach (const QString &f, sigFunctions.values()) {
         QScriptValue value = engine.evaluate(f);
         if (value.isError())
             qWarning() << "Error in" << f << value.toString();
@@ -502,6 +475,14 @@ QString Video::decryptSignature(const QString &s) {
 }
 
 QString Video::formattedDuration() const {
-    QString format = m_duration > 3600 ? "h:mm:ss" : "m:ss";
-    return QTime().addSecs(m_duration).toString(format);
+    return DataUtils::formatDuration(m_duration);
 }
+
+void Video::saveDefinitionForUrl(const QString& url, const VideoDefinition& definition) {
+    const QUrl videoUrl = QUrl::fromEncoded(url.toUtf8(), QUrl::StrictMode);
+    m_streamUrl = videoUrl;
+    definitionCode = definition.getCode();
+    emit gotStreamUrl(videoUrl);
+    loadingStreamUrl = false;
+}
+
index 16454425a87463b3038b413a4b548ce6e1860281..f612d90879bd93f6b2c9cf4fce107d9a8e880c97 100644 (file)
@@ -27,6 +27,8 @@ $END_LICENSE */
 #endif
 #include <QtNetwork>
 
+class VideoDefinition;
+
 class Video : public QObject {
 
     Q_OBJECT
@@ -40,65 +42,68 @@ public:
         LicenseCC
     };
 
-    const QString & title() const { return m_title; }
-    void setTitle(const QString &title) { m_title = title; }
+    const QString &title() const { return m_title; }
+    void setTitle(const QString &value) { m_title = value; }
 
-    const QString & description() const { return m_description; }
-    void setDescription(const QString &description) { m_description = description; }
+    const QString &description() const { return m_description; }
+    void setDescription(const QString &value) { m_description = value; }
 
-    const QString & channelTitle() const { return m_channelTitle; }
+    const QString &channelTitle() const { return m_channelTitle; }
     void setChannelTitle(const QString &value) { m_channelTitle = value; }
 
-    const QString & channelId() const { return m_channelId; }
+    const QString &channelId() const { return m_channelId; }
     void setChannelId(const QString &value ) { m_channelId = value; }
 
-    const QString & webpage();
+    const QString &webpage();
     void setWebpage(const QString &value);
 
     void loadThumbnail();
-    const QPixmap & thumbnail() const { return m_thumbnail; }
+    const QPixmap &thumbnail() const { return m_thumbnail; }
+
+    const QString &thumbnailUrl() { return m_thumbnailUrl; }
+    void setThumbnailUrl(const QString &value) { m_thumbnailUrl = value; }
 
-    const QString & thumbnailUrl() { return m_thumbnailUrl; }
-    void setThumbnailUrl(const QString &url) { m_thumbnailUrl = url; }
+    const QString &mediumThumbnailUrl() { return m_mediumThumbnailUrl; }
+    void setMediumThumbnailUrl(const QString &value) { m_mediumThumbnailUrl = value; }
 
-    void loadMediumThumbnail();
-    const QString & mediumThumbnailUrl() { return m_mediumThumbnailUrl; }
-    void setMediumThumbnailUrl(const QString &url) { m_mediumThumbnailUrl = url; }
+    const QString &largeThumbnailUrl() { return m_largeThumbnailUrl; }
+    void setLargeThumbnailUrl(const QString &value) { m_largeThumbnailUrl = value; }
 
     int duration() const { return m_duration; }
-    void setDuration( int duration ) { m_duration = duration; }
+    void setDuration(int value) { m_duration = value; }
     QString formattedDuration() const;
 
     int viewCount() const { return m_viewCount; }
-    void setViewCount( int viewCount ) { m_viewCount = viewCount; }
+    void setViewCount(int viewCount) { m_viewCount = viewCount; }
 
-    const QDateTime & published() const { return m_published; }
-    void setPublished(const QDateTime &published ) { m_published = published; }
+    const QDateTime &published() const { return m_published; }
+    void setPublished(const QDateTime &value) { m_published = value; }
 
     int getDefinitionCode() const { return definitionCode; }
 
     void loadStreamUrl();
-    const QUrl & getStreamUrl() { return m_streamUrl; }
+    const QUrl &getStreamUrl() { return m_streamUrl; }
 
-    void setId(QString id) { videoId = id; }
-    const QString & id() const { return videoId; }
+    void setId(const QString &value) { videoId = value; }
+    const QString &id() const { return videoId; }
 
-    void setLicense(License license) { m_license = license; }
+    void setLicense(License value) { m_license = value; }
     License license() const { return m_license; }
 
 signals:
     void gotThumbnail();
-    void gotMediumThumbnail(QByteArray bytes);
-    void gotStreamUrl(QUrl streamUrl);
-    void errorStreamUrl(QString message);
+    void gotMediumThumbnail(const QByteArray &bytes);
+    void gotLargeThumbnail(const QByteArray &bytes);
+    void gotStreamUrl(const QUrl &streamUrl);
+    void errorStreamUrl(const QString &message);
 
 private slots:
-    void setThumbnail(QByteArray bytes);
-    void gotVideoInfo(QByteArray);
-    void errorVideoInfo(QNetworkReply*);
-    void scrapeWebPage(QByteArray);
-    void parseJsPlayer(QByteArray bytes);
-    void parseDashManifest(QByteArray bytes);
+    void setThumbnail(const QByteArray &bytes);
+    void gotVideoInfo(const QByteArray &bytes);
+    void errorVideoInfo(QNetworkReply *reply);
+    void scrapeWebPage(const QByteArray &bytes);
+    void parseJsPlayer(const QByteArray &bytes);
+    void parseDashManifest(const QByteArray &bytes);
 
 private:
     void getVideoInfo();
@@ -106,6 +111,7 @@ private:
     void captureFunction(const QString &name, const QString &js);
     void captureObject(const QString &name, const QString &js);
     QString decryptSignature(const QString &s);
+    void saveDefinitionForUrl(const QString &url, const VideoDefinition &definition);
 
     QString m_title;
     QString m_description;
@@ -116,6 +122,7 @@ private:
     QPixmap m_thumbnail;
     QString m_thumbnailUrl;
     QString m_mediumThumbnailUrl;
+    QString m_largeThumbnailUrl;
     int m_duration;
     QDateTime m_published;
     int m_viewCount;
index 2c6b055abb6b426a83b4419aaf075e159639e299..62106148c4560d16a6a88065b1138b007c577b06 100644 (file)
@@ -76,7 +76,7 @@ void VideoAreaWidget::showVideo() {
     loadingWidget->clear();
 }
 
-void VideoAreaWidget::showError(QString message) {
+void VideoAreaWidget::showError(const QString &message) {
     // loadingWidget->setError(message);
     messageLabel->setText(message);
     messageLabel->show();
@@ -155,7 +155,7 @@ void VideoAreaWidget::dragEnterEvent(QDragEnterEvent *event) {
 
 void VideoAreaWidget::dropEvent(QDropEvent *event) {
     
-    const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( event->mimeData() );
+    const VideoMimeData* videoMimeData = qobject_cast<const VideoMimeData*>( event->mimeData() );
     if(!videoMimeData ) return;
     
     QList<Video*> droppedVideos = videoMimeData->videos();
index e40d38fa582e3d49ccfb0146f36b2a52c15e5988..866c9037d7e5c0c6821866855a6fe2e20359278a 100644 (file)
@@ -41,7 +41,7 @@ public:
     void setLoadingWidget(LoadingWidget *loadingWidget);
     void showLoading(Video* video);
     void showVideo();
-    void showError(QString message);
+    void showError(const QString &message);
     void clear();
     void setListModel(PlaylistModel *listModel) {
         this->listModel = listModel;
index 28e3024d0515096adc5799f1689584ab4b0fdb30..443f1710334c1e13826f486740992372207b2cb1 100644 (file)
@@ -20,30 +20,54 @@ $END_LICENSE */
 
 #include "videodefinition.h"
 
-QStringList VideoDefinition::getDefinitionNames() {
-    static QStringList definitionNames = QStringList() << "360p" << "720p" << "1080p";
-    return definitionNames;
-}
+namespace {
+static const int kEmptyDefinitionCode = -1;
 
-QList<int> VideoDefinition::getDefinitionCodes() {
-    static QList<int> definitionCodes = QList<int>() << 18 << 22 << 37;
-    return definitionCodes;
-}
+static const VideoDefinition kEmptyDefinition(QString(), kEmptyDefinitionCode);
 
-QHash<QString, int> VideoDefinition::getDefinitions() {
-    static QHash<QString, int> definitions;
-    if (definitions.isEmpty()) {
-        definitions.insert("360p", 18);
-        definitions.insert("720p", 22);
-        definitions.insert("1080p", 37);
+template <typename T, T (VideoDefinition::*Getter)() const>
+const VideoDefinition& getDefinitionForImpl(T matchValue) {
+    const QList<VideoDefinition>& definitions = VideoDefinition::getDefinitions();
+    const int size = definitions.size();
+    for (int ii = 0; ii < size; ++ii) {
+        const VideoDefinition& def = definitions.at(ii);
+        if ((def.*Getter)() == matchValue)
+            return def;
     }
+
+    return kEmptyDefinition;
+}
+}
+
+// static
+const QList<VideoDefinition>& VideoDefinition::getDefinitions() {
+    static QList<VideoDefinition> definitions = QList<VideoDefinition>()
+        << VideoDefinition(QLatin1String("360p"), 18)
+        << VideoDefinition(QLatin1String("720p"), 22)
+        << VideoDefinition(QLatin1String("1080p"), 37);
     return definitions;
 }
 
-int VideoDefinition::getDefinitionCode(QString name) {
-    return VideoDefinition::getDefinitions().value(name);
+// static
+const VideoDefinition& VideoDefinition::getDefinitionFor(const QString& name) {
+    return getDefinitionForImpl<const QString&, &VideoDefinition::getName>(name);
+}
+
+// static
+const VideoDefinition& VideoDefinition::getDefinitionFor(int code) {
+    return getDefinitionForImpl<int, &VideoDefinition::getCode>(code);
+}
+
+VideoDefinition::VideoDefinition(const QString& name, int code) :
+    m_name(name),
+    m_code(code) {
+}
+
+VideoDefinition::VideoDefinition(const VideoDefinition& other) :
+    m_name(other.m_name),
+    m_code(other.m_code) {
 }
 
-QString VideoDefinition::getDefinitionName(int code) {
-    return getDefinitions().key(code);
+bool VideoDefinition::isEmpty() const {
+    return m_code == kEmptyDefinitionCode && m_name.isEmpty();
 }
index 809fafbfbc80b436d4711f56966ce36bb548ec1d..13001c1a818328bd3c97e4131aae6d16dd8071f4 100644 (file)
@@ -26,12 +26,26 @@ $END_LICENSE */
 class VideoDefinition {
 
 public:
-    static QStringList getDefinitionNames();
-    static QList<int> getDefinitionCodes();
-    static QHash<QString, int> getDefinitions();
-    static int getDefinitionCode(QString name);
-    static QString getDefinitionName(int code);
+    static const QList<VideoDefinition>& getDefinitions();
+    static const VideoDefinition& getDefinitionFor(const QString& name);
+    static const VideoDefinition& getDefinitionFor(int code);
 
+    VideoDefinition(const QString& name, int code);
+    VideoDefinition(const VideoDefinition& other);
+
+    const QString& getName() const { return m_name; }
+    int getCode() const { return m_code; }
+    bool isEmpty() const;
+
+private:
+    VideoDefinition& operator=(const VideoDefinition&);
+
+    const QString m_name;
+    const int m_code;
 };
 
+inline bool operator==(const VideoDefinition& lhs, const VideoDefinition& rhs) {
+    return lhs.getCode() == rhs.getCode() && lhs.getName() == rhs.getName();
+}
+
 #endif // VIDEODEFINITION_H
index 6abb788482b730ca40fba52f845a603b945da431..81b55c1d90683e22d49952109d381a399fe8a9b6 100644 (file)
@@ -26,6 +26,8 @@ $END_LICENSE */
 
 class VideoMimeData : public QMimeData {
 
+    Q_OBJECT
+
 public:
     VideoMimeData();
 
index 6f08656a1b662e1e9952768a87bb3555088a1e54..6ca33cf8e502f0b93265997e71591de8fd245624 100644 (file)
@@ -20,7 +20,7 @@ $END_LICENSE */
 
 #include "videosource.h"
 
-void VideoSource::setParam(QString name, QVariant value) {
+void VideoSource::setParam(const QString &name, const QVariant &value) {
     bool success = setProperty(name.toUtf8(), value);
     if (!success) qWarning() << "Failed to set property" << name << value.toString();
 }
index 458d120381b111eb588a0820b39730af488e3c69..e2da4d4a3fba2296c6f853990246bb1a3a7b9fa1 100644 (file)
@@ -40,7 +40,7 @@ public:
     virtual QList<QAction*> getActions() { return QList<QAction*>(); }
 
 public slots:
-    void setParam(QString name, QVariant value);
+    void setParam(const QString &name, const QVariant &value);
 
 signals:
     void gotVideos(QList<Video*> videos);
index ccd2a0f87448fb07223643f0df36d3724e20236a..ce1a92fc498b143b56a1de64638bfc74df9c1e26 100644 (file)
@@ -22,16 +22,21 @@ $END_LICENSE */
 #include "videosource.h"
 #include "video.h"
 #include "fontutils.h"
+#include "iconutils.h"
+#include "networkaccess.h"
+
+namespace The {
+NetworkAccess* http();
+}
 
 VideoSourceWidget::VideoSourceWidget(VideoSource *videoSource, QWidget *parent)
     : GridWidget(parent),
-      videoSource(videoSource) {
+      videoSource(videoSource),
+      lastPixelRatio(0) {
 
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-    connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
-            SLOT(previewVideo(QList<Video*>)), Qt::UniqueConnection);
-    videoSource->loadVideos(1, 1);
+    loadPreview();
 
     connect(this, SIGNAL(activated()), SLOT(activate()));
 }
@@ -40,26 +45,38 @@ void VideoSourceWidget::activate() {
     emit activated(videoSource);
 }
 
-void VideoSourceWidget::previewVideo(QList<Video*> videos) {
+void VideoSourceWidget::previewVideo(const QList<Video *> &videos) {
     videoSource->disconnect();
     if (videos.isEmpty()) return;
-    video = videos.first();
-    connect(video, SIGNAL(gotMediumThumbnail(QByteArray)),
-            SLOT(setPixmapData(QByteArray)), Qt::UniqueConnection);
-    video->loadMediumThumbnail();
+    Video *video = videos.first();
+    lastPixelRatio = window()->devicePixelRatio();
+    bool needLargeThumb = lastPixelRatio > 1.0 || window()->width() > 2000;
+    QString url =  needLargeThumb ? video->largeThumbnailUrl() : video->mediumThumbnailUrl();
+    if (url.isEmpty()) url = video->mediumThumbnailUrl();
+    video->deleteLater();
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(setPixmapData(QByteArray)));
 }
 
-void VideoSourceWidget::setPixmapData(QByteArray bytes) {
-    video->deleteLater();
-    video = 0;
+void VideoSourceWidget::setPixmapData(const QByteArray &bytes) {
     pixmap.loadFromData(bytes);
+    pixmap.setDevicePixelRatio(lastPixelRatio);
     update();
 }
 
+void VideoSourceWidget::loadPreview() {
+    connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
+            SLOT(previewVideo(QList<Video*>)), Qt::UniqueConnection);
+    videoSource->loadVideos(1, 1);
+}
+
 QPixmap VideoSourceWidget::playPixmap() {
     const int s = height() / 2;
     const int padding = s / 8;
-    QPixmap playIcon = QPixmap(s, s);
+
+    qreal ratio = window()->devicePixelRatio();
+    QPixmap playIcon = QPixmap(s * ratio, s * ratio);
+    playIcon.setDevicePixelRatio(ratio);
     playIcon.fill(Qt::transparent);
     QPainter painter(&playIcon);
     QPolygon polygon;
@@ -84,11 +101,13 @@ QPixmap VideoSourceWidget::playPixmap() {
 void VideoSourceWidget::paintEvent(QPaintEvent *event) {
     GridWidget::paintEvent(event);
     if (pixmap.isNull()) return;
+    if (window()->devicePixelRatio() != lastPixelRatio) loadPreview();
 
     QPainter p(this);
 
-    const int w = width();
-    const int h = height();
+    qreal ratio = lastPixelRatio;
+    int w = width() * ratio;
+    int h = height() * ratio;
 
     int xOffset = 0;
     int xOrigin = 0;
@@ -102,13 +121,16 @@ void VideoSourceWidget::paintEvent(QPaintEvent *event) {
     else yOrigin = -hDiff / 2;
     p.drawPixmap(xOrigin, yOrigin, pixmap, xOffset, yOffset, w, h);
 
+    w = width();
+    h = height();
+
     if (hovered) {
         QPixmap play = playPixmap();
         p.save();
         p.setOpacity(.5);
         p.drawPixmap(
-                    (w - play.width()) / 2,
-                    (h * 2/3 - play.height()) / 2,
+                    (w - play.width() * ratio) / 2,
+                    (h * 2/3 - play.height() * ratio) / 2,
                     play
                     );
         p.restore();
index 1aab7c432d292b73c464ccb42bc02e4207781924..185e615ba156930b949d42340d8d4c52f5ade304 100644 (file)
@@ -45,14 +45,16 @@ protected:
 
 private slots:
     void activate();
-    void previewVideo(QList<Video*> videos);
-    void setPixmapData(QByteArray bytes);
+    void previewVideo(const QList<Video*> &videos);
+    void setPixmapData(const QByteArray &bytes);
 
 private:
+    void loadPreview();
+
     QPixmap playPixmap();
     VideoSource *videoSource;
     QPixmap pixmap;
-    Video *video;
+    qreal lastPixelRatio;
 
 };
 
index e847f6e02ce73569404d05c94d83b5de813fe91e..5f0bdadfb069db612b466a734d901303634f9c15 100644 (file)
@@ -21,9 +21,17 @@ $END_LICENSE */
 #ifndef VIEW_H
 #define VIEW_H
 
-class View {
+#include <QWidget>
+#include <QHash>
+#include <QString>
+#include <QVariant>
+
+class View : public QWidget {
+
+    Q_OBJECT
 
 public:
+    View(QWidget *parent = 0) : QWidget(parent) { }
     virtual QHash<QString, QVariant> metadata() { return QHash<QString, QVariant>(); }
     virtual void appear() {}
     virtual void disappear() {}
index c341310b644b260b5261b86a193001d73334e423..b42e204a03c6e2cd1444d41c36e1515935cc27f0 100644 (file)
@@ -6,6 +6,7 @@
 #include "jsfunctions.h"
 #include "networkaccess.h"
 #include "constants.h"
+#include "compatibility/qurlqueryhelper.h"
 
 #ifdef APP_EXTRA
 #include "extra.h"
@@ -54,7 +55,7 @@ YT3::YT3() {
         qWarning() << "No available API keys";
     } else {
         key = keys.takeFirst();
-        testApiKey();
+        if (!keys.isEmpty()) testApiKey();
     }
 }
 
@@ -65,18 +66,12 @@ const QString &YT3::baseUrl() {
 
 void YT3::testApiKey() {
     QUrl url = method("videos");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("part", "id");
-        url.addQueryItem("chart", "mostPopular");
-        url.addQueryItem("maxResults", "1");
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("part", "id");
+        urlHelper.addQueryItem("chart", "mostPopular");
+        urlHelper.addQueryItem("maxResults", "1");
     }
-#endif
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(finished(QNetworkReply*)), SLOT(testResponse(QNetworkReply*)));
 }
@@ -86,16 +81,9 @@ void YT3::addApiKey(QUrl &url) {
         qDebug() << __PRETTY_FUNCTION__ << "empty key";
         return;
     }
-#if QT_VERSION >= 0x050000
-    {
-        QUrl &u = url;
-        QUrlQuery url(u);
-#endif
-        url.addQueryItem("key", key);
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
-    }
-#endif
+
+    QUrlQueryHelper urlHelper(url);
+    urlHelper.addQueryItem("key", key);
 }
 
 QUrl YT3::method(const QString &name) {
index ed65c7232176c90d0b68f64b2d714ad338a6347e..45aa536e91454a34de83129c867a1eb6040ee14c 100644 (file)
@@ -3,7 +3,6 @@
 #include "datautils.h"
 
 YT3ListParser::YT3ListParser(const QByteArray &bytes) {
-
     QScriptEngine engine;
     QScriptValue json = engine.evaluate("(" + QString::fromUtf8(bytes) + ")");
 
@@ -54,6 +53,7 @@ void YT3ListParser::parseItem(const QScriptValue &item) {
     QScriptValue thumbnails = snippet.property("thumbnails");
     video->setThumbnailUrl(thumbnails.property("medium").property("url").toString());
     video->setMediumThumbnailUrl(thumbnails.property("high").property("url").toString());
+    video->setLargeThumbnailUrl(thumbnails.property("standard").property("url").toString());
 
     video->setChannelTitle(snippet.property("channelTitle").toString());
 
index db5a244cddd770c1a2b4605075af0dab18de357f..8ac7a4249ad513824730801beb6a558d70ff13cf 100644 (file)
@@ -26,6 +26,7 @@ $END_LICENSE */
 #include "ytregions.h"
 #include <QtScript>
 #endif
+#include "compatibility/qurlqueryhelper.h"
 
 namespace The {
 NetworkAccess* http();
@@ -40,25 +41,15 @@ void YTCategories::loadCategories(QString language) {
 
 #ifdef APP_YT3
     QUrl url = YT3::instance().method("videoCategories");
-
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url(u);
-#endif
-
-        url.addQueryItem("part", "snippet");
-        url.addQueryItem("hl", language);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("part", "snippet");
+        urlHelper.addQueryItem("hl", language);
 
         QString regionCode = YTRegions::currentRegionId();
         if (regionCode.isEmpty()) regionCode = "us";
-        url.addQueryItem("regionCode", regionCode);
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        urlHelper.addQueryItem("regionCode", regionCode);
     }
-#endif
-
 #else
     QString url = "http://gdata.youtube.com/schemas/2007/categories.cat?hl=" + language;
 #endif
index ad652415b297258c6295598d7197675a96d59f8b..a80879af1736c586325db3bbf898cd6542aefafe 100644 (file)
@@ -27,6 +27,9 @@ $END_LICENSE */
 #include "yt3.h"
 #include <QtScript>
 #endif
+#include "compatibility/qurlqueryhelper.h"
+#include "compatibility/pathsservice.h"
+#include "iconutils.h"
 
 namespace The {
 NetworkAccess* http();
@@ -72,6 +75,7 @@ YTChannel* YTChannel::forId(const QString &channelId) {
         channel->checked = query.value(6).toUInt();
         channel->loaded = query.value(7).toUInt();
         channel->thumbnail = QPixmap(channel->getThumbnailLocation());
+        channel->thumbnail.setDevicePixelRatio(IconUtils::maxSupportedPixelRatio());
         channel->maybeLoadfromAPI();
         cache.insert(channelId, channel);
     }
@@ -92,31 +96,19 @@ void YTChannel::maybeLoadfromAPI() {
 #ifdef APP_YT3
 
     QUrl url = YT3::instance().method("channels");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("id", channelId);
-        url.addQueryItem("part", "snippet");
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("id", channelId);
+        urlHelper.addQueryItem("part", "snippet");
     }
-#endif
 
 #else
 
     QUrl url("http://gdata.youtube.com/feeds/api/users/" + channelId);
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("v", "2");
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("v", "2");
     }
-#endif
 
 #endif
 
@@ -142,7 +134,7 @@ void YTChannel::parseResponse(const QByteArray &bytes) {
                 displayName = snippet.property("title").toString();
                 description = snippet.property("description").toString();
                 QScriptValue thumbnails = snippet.property("thumbnails");
-                thumbnailUrl = thumbnails.property("default").property("url").toString();
+                thumbnailUrl = thumbnails.property("medium").property("url").toString();
                 qDebug() << displayName << description << thumbnailUrl;
             }
         }
@@ -190,10 +182,6 @@ void YTChannel::loadThumbnail() {
     if (thumbnailUrl.isEmpty()) return;
     loadingThumbnail = true;
 
-#ifdef Q_OS_WIN
-    thumbnailUrl.replace(QLatin1String("https://"), QLatin1String("http://"));
-#endif
-
     QUrl url(thumbnailUrl);
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(storeThumbnail(QByteArray)));
@@ -201,13 +189,7 @@ void YTChannel::loadThumbnail() {
 }
 
 const QString & YTChannel::getThumbnailDir() {
-    static const QString thumbDir =
-        #if QT_VERSION >= 0x050000
-            QStandardPaths::writableLocation(QStandardPaths::DataLocation)
-        #else
-            QDesktopServices::storageLocation(QDesktopServices::DataLocation)
-        #endif
-            + "/channels/";
+    static const QString thumbDir = Paths::getCacheLocation() + "/channels/";
     return thumbDir;
 }
 
@@ -215,19 +197,33 @@ QString YTChannel::getThumbnailLocation() {
     return getThumbnailDir() + channelId;
 }
 
+QString YTChannel::latestVideoId() {
+    QSqlDatabase db = Database::instance().getConnection();
+    QSqlQuery query(db);
+    query.prepare("select video_id from subscriptions_videos where user_id=? order by published desc limit 1");
+    query.bindValue(0, channelId);
+    bool success = query.exec();
+    if (!success) qWarning() << query.lastQuery() << query.lastError().text();
+    if (!query.next()) return QString();
+    return query.value(0).toString();
+}
+
 void YTChannel::unsubscribe() {
     YTChannel::unsubscribe(channelId);
 }
 
 void YTChannel::storeThumbnail(const QByteArray &bytes) {
     thumbnail.loadFromData(bytes);
-    static const int maxWidth = 88;
+    qreal maxRatio = IconUtils::maxSupportedPixelRatio();
+    thumbnail.setDevicePixelRatio(maxRatio);
+    const int maxWidth = 88 * maxRatio;
 
     QDir dir;
     dir.mkpath(getThumbnailDir());
 
     if (thumbnail.width() > maxWidth) {
         thumbnail = thumbnail.scaledToWidth(maxWidth, Qt::SmoothTransformation);
+        thumbnail.setDevicePixelRatio(maxRatio);
         thumbnail.save(getThumbnailLocation(), "JPG");
     } else {
         QFile file(getThumbnailLocation());
index 25a9fcaa9877a3b0f92adac30a2c2be61704befe..fea95aa992c20e702672f3ac9244ae74edf87a02 100644 (file)
@@ -62,6 +62,8 @@ public:
     QString getThumbnailLocation();
     const QPixmap & getThumbnail() { return thumbnail; }
 
+    QString latestVideoId();
+
     static QList<YTChannel*> getCachedChannels() { return cache.values(); }
 
 public slots:
index b05cf6c4c2f5ffd2566b8762724a591129e9396a..ed5dc46ccbc3cdaac7f7d401a11a287f859ec4e9 100644 (file)
@@ -126,7 +126,7 @@ const QList<YTRegion> & YTRegions::list() {
     return list;
 }
 
-YTRegion YTRegions::r(QString name, QString id) {
+YTRegion YTRegions::r(const QString &name, const QString &id) {
     YTRegion r = {id, name};
     return r;
 }
@@ -149,7 +149,7 @@ const YTRegion & YTRegions::worldwideRegion() {
     return region;
 }
 
-void YTRegions::setRegion(QString regionId) {
+void YTRegions::setRegion(const QString &regionId) {
     QSettings settings;
     settings.setValue("regionId", regionId);
 }
@@ -163,7 +163,7 @@ YTRegion YTRegions::currentRegion() {
     return regionById(currentRegionId());
 }
 
-YTRegion YTRegions::regionById(QString id) {
+YTRegion YTRegions::regionById(const QString &id) {
     if (id.isEmpty()) return worldwideRegion();
     YTRegion region;
     foreach (YTRegion r, list())
@@ -175,7 +175,7 @@ YTRegion YTRegions::regionById(QString id) {
     return region;
 }
 
-QIcon YTRegions::iconForRegionId(QString regionId) {
+QIcon YTRegions::iconForRegionId(const QString &regionId) {
     if (regionId.isEmpty()) return QIcon(":images/worldwide.png");
     return QIcon(":flags/" + regionId.toLower() + ".png");
 }
index 1ea5e8925c0049b7b67e5856d11dc9622a2d5d40..c0d7e4eadfb952ff97a709be1ae8823d655b5ff6 100644 (file)
@@ -42,14 +42,14 @@ public:
     static const QList<YTRegion> & list();
     static const YTRegion & localRegion();
     static const YTRegion & worldwideRegion();
-    static void setRegion(QString regionId);
+    static void setRegion(const QString &regionId);
     static QString currentRegionId();
     static YTRegion currentRegion();
-    static QIcon iconForRegionId(QString regionId);
+    static QIcon iconForRegionId(const QString &regionId);
 
 private:
-    static YTRegion r(QString name, QString id);
-    static YTRegion regionById(QString id);
+    static YTRegion r(const QString &name, const QString &id);
+    static YTRegion regionById(const QString &id);
     YTRegions();
 
 };
index 331a791d9e595b06e7e1e399fe41bc278b1d4727..7274d89d44c193874ecf65c701842f3d88c7b03a 100644 (file)
@@ -32,6 +32,7 @@ $END_LICENSE */
 #else
 #include "ytfeedreader.h"
 #endif
+#include "compatibility/qurlqueryhelper.h"
 
 namespace The {
 NetworkAccess* http();
@@ -62,88 +63,78 @@ void YTSearch::loadVideos(int max, int startIndex) {
     aborted = false;
 
     QUrl url = YT3::instance().method("search");
-
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-
-        url.addQueryItem("part", "snippet");
-        url.addQueryItem("type", "video");
-
-        url.addQueryItem("maxResults", QString::number(max));
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("part", "snippet");
+        urlHelper.addQueryItem("type", "video");
+        urlHelper.addQueryItem("maxResults", QString::number(max));
 
         if (startIndex > 1) {
             if (maybeReloadToken(max, startIndex)) return;
-            url.addQueryItem("pageToken", nextPageToken);
+            urlHelper.addQueryItem("pageToken", nextPageToken);
         }
 
         // TODO interesting params
-        // url.addQueryItem("videoSyndicated", "true");
-        // url.addQueryItem("regionCode", "IT");
-        // url.addQueryItem("videoType", "movie");
+        // urlHelper.addQueryItem("videoSyndicated", "true");
+        // urlHelper.addQueryItem("regionCode", "IT");
+        // urlHelper.addQueryItem("videoType", "movie");
 
         if (!searchParams->keywords().isEmpty()) {
             if (searchParams->keywords().startsWith("http://") ||
                     searchParams->keywords().startsWith("https://")) {
-                url.addQueryItem("q", YTSearch::videoIdFromUrl(searchParams->keywords()));
-            } else url.addQueryItem("q", searchParams->keywords());
+                urlHelper.addQueryItem("q", YTSearch::videoIdFromUrl(searchParams->keywords()));
+            } else urlHelper.addQueryItem("q", searchParams->keywords());
         }
 
         if (!searchParams->channelId().isEmpty())
-            url.addQueryItem("channelId", searchParams->channelId());
+            urlHelper.addQueryItem("channelId", searchParams->channelId());
 
         switch (searchParams->sortBy()) {
         case SearchParams::SortByNewest:
-            url.addQueryItem("order", "date");
+            urlHelper.addQueryItem("order", "date");
             break;
         case SearchParams::SortByViewCount:
-            url.addQueryItem("order", "viewCount");
+            urlHelper.addQueryItem("order", "viewCount");
             break;
         case SearchParams::SortByRating:
-            url.addQueryItem("order", "rating");
+            urlHelper.addQueryItem("order", "rating");
             break;
         }
 
         switch (searchParams->duration()) {
         case SearchParams::DurationShort:
-            url.addQueryItem("videoDuration", "short");
+            urlHelper.addQueryItem("videoDuration", "short");
             break;
         case SearchParams::DurationMedium:
-            url.addQueryItem("videoDuration", "medium");
+            urlHelper.addQueryItem("videoDuration", "medium");
             break;
         case SearchParams::DurationLong:
-            url.addQueryItem("videoDuration", "long");
+            urlHelper.addQueryItem("videoDuration", "long");
             break;
         }
 
         switch (searchParams->time()) {
         case SearchParams::TimeToday:
-            url.addQueryItem("publishedAfter", RFC3339toString(QDateTime::currentDateTimeUtc().addSecs(-60*60*24)));
+            urlHelper.addQueryItem("publishedAfter", RFC3339toString(QDateTime::currentDateTimeUtc().addSecs(-60*60*24)));
             break;
         case SearchParams::TimeWeek:
-            url.addQueryItem("publishedAfter", RFC3339toString(QDateTime::currentDateTimeUtc().addSecs(-60*60*24*7)));
+            urlHelper.addQueryItem("publishedAfter", RFC3339toString(QDateTime::currentDateTimeUtc().addSecs(-60*60*24*7)));
             break;
         case SearchParams::TimeMonth:
-            url.addQueryItem("publishedAfter", RFC3339toString(QDateTime::currentDateTimeUtc().addSecs(-60*60*24*30)));
+            urlHelper.addQueryItem("publishedAfter", RFC3339toString(QDateTime::currentDateTimeUtc().addSecs(-60*60*24*30)));
             break;
         }
 
         if (searchParams->publishedAfter()) {
-            url.addQueryItem("publishedAfter", RFC3339toString(QDateTime::fromTime_t(searchParams->publishedAfter()).toUTC()));
+            urlHelper.addQueryItem("publishedAfter", RFC3339toString(QDateTime::fromTime_t(searchParams->publishedAfter()).toUTC()));
         }
 
         switch (searchParams->quality()) {
         case SearchParams::QualityHD:
-            url.addQueryItem("videoDefinition", "high");
+            urlHelper.addQueryItem("videoDefinition", "high");
             break;
         }
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
     }
-#endif
 
     lastUrl = url;
 
@@ -183,72 +174,66 @@ void YTSearch::loadVideos(int max, int startIndex) {
     aborted = false;
 
     QUrl url("http://gdata.youtube.com/feeds/api/videos/");
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
+        QUrlQueryHelper urlHelper(url);
 
-        url.addQueryItem("v", "2");
-        url.addQueryItem("max-results", QString::number(max));
-        url.addQueryItem("start-index", QString::number(startIndex));
+        urlHelper.addQueryItem("v", "2");
+        urlHelper.addQueryItem("max-results", QString::number(max));
+        urlHelper.addQueryItem("start-index", QString::number(startIndex));
 
         if (!searchParams->keywords().isEmpty()) {
             if (searchParams->keywords().startsWith("http://") ||
                     searchParams->keywords().startsWith("https://")) {
-                url.addQueryItem("q", YTSearch::videoIdFromUrl(searchParams->keywords()));
-            } else url.addQueryItem("q", searchParams->keywords());
+                urlHelper.addQueryItem("q", YTSearch::videoIdFromUrl(searchParams->keywords()));
+            } else urlHelper.addQueryItem("q", searchParams->keywords());
         }
 
         if (!searchParams->channelId().isEmpty())
-            url.addQueryItem("author", searchParams->channelId());
+            urlHelper.addQueryItem("author", searchParams->channelId());
 
         switch (searchParams->sortBy()) {
         case SearchParams::SortByNewest:
-            url.addQueryItem("orderby", "published");
+            urlHelper.addQueryItem("orderby", "published");
             break;
         case SearchParams::SortByViewCount:
-            url.addQueryItem("orderby", "viewCount");
+            urlHelper.addQueryItem("orderby", "viewCount");
             break;
         case SearchParams::SortByRating:
-            url.addQueryItem("orderby", "rating");
+            urlHelper.addQueryItem("orderby", "rating");
             break;
         }
 
         switch (searchParams->duration()) {
         case SearchParams::DurationShort:
-            url.addQueryItem("duration", "short");
+            urlHelper.addQueryItem("duration", "short");
             break;
         case SearchParams::DurationMedium:
-            url.addQueryItem("duration", "medium");
+            urlHelper.addQueryItem("duration", "medium");
             break;
         case SearchParams::DurationLong:
-            url.addQueryItem("duration", "long");
+            urlHelper.addQueryItem("duration", "long");
             break;
         }
 
         switch (searchParams->time()) {
         case SearchParams::TimeToday:
-            url.addQueryItem("time", "today");
+            urlHelper.addQueryItem("time", "today");
             break;
         case SearchParams::TimeWeek:
-            url.addQueryItem("time", "this_week");
+            urlHelper.addQueryItem("time", "this_week");
             break;
         case SearchParams::TimeMonth:
-            url.addQueryItem("time", "this_month");
+            urlHelper.addQueryItem("time", "this_month");
             break;
         }
 
         switch (searchParams->quality()) {
         case SearchParams::QualityHD:
-            url.addQueryItem("hd", "true");
+            urlHelper.addQueryItem("hd", "true");
             break;
         }
 
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
     }
-#endif
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
@@ -296,7 +281,7 @@ void YTSearch::requestError(QNetworkReply *reply) {
     emit error(reply->errorString());
 }
 
-QString YTSearch::videoIdFromUrl(QString url) {
+QString YTSearch::videoIdFromUrl(const QString &url) {
     QRegExp re = QRegExp("^.*[\\?&]v=([^&#]+).*$");
     if (re.exactMatch(url)) return re.cap(1);
     re = QRegExp("^.*://.*/([^&#\\?]+).*$");
index be2a0c162ed742b33335b1c182fe72f59c98756b..dae16384a200ffb79411444029645479cd139b0d 100644 (file)
@@ -39,7 +39,7 @@ public:
     QString getName();
     QList<QAction*> getActions();
     SearchParams* getSearchParams() const { return searchParams; }
-    static QString videoIdFromUrl(QString url);
+    static QString videoIdFromUrl(const QString &url);
 
     bool operator==(const YTSearch &other) const {
         return searchParams == other.getSearchParams();
index 6d9276cb3d9b0c26ed47c3e7b0b6616cefd0dc71..cf734b73349a7b04fc96aedf1141f3fe42d42193 100644 (file)
@@ -21,6 +21,7 @@ $END_LICENSE */
 #include "ytsinglevideosource.h"
 #include "networkaccess.h"
 #include "video.h"
+#include "compatibility/qurlqueryhelper.h"
 
 #ifdef APP_YT3
 #include "yt3.h"
@@ -63,36 +64,24 @@ void YTSingleVideoSource::loadVideos(int max, int startIndex) {
         }
 
         url = YT3::instance().method("videos");
-#if QT_VERSION >= 0x050000
         {
-            QUrl &u = url;
-            QUrlQuery url;
-#endif
-            url.addQueryItem("part", "snippet");
-            url.addQueryItem("id", videoId);
-#if QT_VERSION >= 0x050000
-            u.setQuery(url);
+            QUrlQueryHelper urlHelper(url);
+            urlHelper.addQueryItem("part", "snippet");
+            urlHelper.addQueryItem("id", videoId);
         }
-#endif
     } else {
         url = YT3::instance().method("search");
-#if QT_VERSION >= 0x050000
         {
-            QUrl &u = url;
-            QUrlQuery url;
-#endif
-            url.addQueryItem("part", "snippet");
-            url.addQueryItem("type", "video");
-            url.addQueryItem("relatedToVideoId", videoId);
-            url.addQueryItem("maxResults", QString::number(max));
+            QUrlQueryHelper urlHelper(url);
+            urlHelper.addQueryItem("part", "snippet");
+            urlHelper.addQueryItem("type", "video");
+            urlHelper.addQueryItem("relatedToVideoId", videoId);
+            urlHelper.addQueryItem("maxResults", QString::number(max));
             if (startIndex > 2) {
                 if (maybeReloadToken(max, startIndex)) return;
-                url.addQueryItem("pageToken", nextPageToken);
+                urlHelper.addQueryItem("pageToken", nextPageToken);
             }
-#if QT_VERSION >= 0x050000
-            u.setQuery(url);
         }
-#endif
     }
 
     lastUrl = url;
@@ -130,22 +119,15 @@ void YTSingleVideoSource::loadVideos(int max, int startIndex) {
     if (startIndex == 1) s = "http://gdata.youtube.com/feeds/api/videos/" + videoId;
     else s = QString("http://gdata.youtube.com/feeds/api/videos/%1/related").arg(videoId);
     QUrl url(s);
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("v", "2");
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("v", "2");
 
         if (startIndex != 1) {
-            url.addQueryItem("max-results", QString::number(max));
-            url.addQueryItem("start-index", QString::number(startIndex-1));
+            urlHelper.addQueryItem("max-results", QString::number(max));
+            urlHelper.addQueryItem("start-index", QString::number(startIndex-1));
         }
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
     }
-#endif
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parse(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
@@ -176,8 +158,8 @@ void YTSingleVideoSource::abort() {
 }
 
 const QStringList & YTSingleVideoSource::getSuggestions() {
-    static const QStringList *l = new QStringList();
-    return *l;
+    static const QStringList l;
+    return l;
 }
 
 QString YTSingleVideoSource::getName() {
index dc869a6edbe7c2c6f657fb401d206b2c4d38de5d..caf23b50bcbc06cff354d63eecbbb1cb9cb24486 100644 (file)
@@ -35,7 +35,7 @@ public:
     const QStringList & getSuggestions();
     QString getName();
 
-    void setVideoId(QString videoId) { this->videoId = videoId; }
+    void setVideoId(const QString &value) { videoId = value; }
     void setVideo(Video *video);
 
 private slots:
index 59ce7304c857ef111a10c6209ef9bc24545a55c2..e6f640842434379975ac92855a7677602053c251 100644 (file)
@@ -21,6 +21,7 @@ $END_LICENSE */
 #include "ytstandardfeed.h"
 #include "networkaccess.h"
 #include "video.h"
+#include "compatibility/qurlqueryhelper.h"
 
 #ifdef APP_YT3
 #include "yt3.h"
@@ -44,32 +45,25 @@ void YTStandardFeed::loadVideos(int max, int startIndex) {
 
     QUrl url = YT3::instance().method("videos");
 
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-
+        QUrlQueryHelper urlHelper(url);
         if (startIndex > 1) {
             if (maybeReloadToken(max, startIndex)) return;
-            url.addQueryItem("pageToken", nextPageToken);
+            urlHelper.addQueryItem("pageToken", nextPageToken);
         }
 
-        url.addQueryItem("part", "snippet,contentDetails,statistics");
-        url.addQueryItem("chart", "mostPopular");
+        urlHelper.addQueryItem("part", "snippet,contentDetails,statistics");
+        urlHelper.addQueryItem("chart", "mostPopular");
 
         if (!category.isEmpty())
-            url.addQueryItem("videoCategoryId", category);
+            urlHelper.addQueryItem("videoCategoryId", category);
 
         if (!regionId.isEmpty())
-            url.addQueryItem("regionCode", regionId);
+            urlHelper.addQueryItem("regionCode", regionId);
 
-        url.addQueryItem("maxResults", QString::number(max));
+        urlHelper.addQueryItem("maxResults", QString::number(max));
 
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
     }
-#endif
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
@@ -106,26 +100,19 @@ void YTStandardFeed::loadVideos(int max, int startIndex) {
     if (!category.isEmpty()) s += "_" + category;
 
     QUrl url(s);
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-        url.addQueryItem("v", "2");
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("v", "2");
 
         if (feedId != "most_shared" && feedId != "on_the_web") {
             QString t = time;
             if (t.isEmpty()) t = "today";
-            url.addQueryItem("time", t);
+            urlHelper.addQueryItem("time", t);
         }
 
-        url.addQueryItem("max-results", QString::number(max));
-        url.addQueryItem("start-index", QString::number(startIndex));
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        urlHelper.addQueryItem("max-results", QString::number(max));
+        urlHelper.addQueryItem("start-index", QString::number(startIndex));
     }
-#endif
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parse(QByteArray)));
     connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
@@ -148,8 +135,8 @@ void YTStandardFeed::abort() {
 }
 
 const QStringList & YTStandardFeed::getSuggestions() {
-    QStringList *l = new QStringList();
-    return *l;
+    static const QStringList l;
+    return l;
 }
 
 void YTStandardFeed::requestError(QNetworkReply *reply) {
index b1b64e9986e16c082397c18746fa9d997fcb4af3..4bd4721d339e9709c76821393ce743d5aab36437 100644 (file)
@@ -32,19 +32,19 @@ public:
     YTStandardFeed(QObject *parent = 0);
 
     QString getFeedId() { return feedId; }
-    void setFeedId(QString feedId) { this->feedId = feedId; }
+    void setFeedId(const QString &value) { feedId = value; }
 
     QString getRegionId() { return regionId; }
-    void setRegionId(QString regionId) { this->regionId = regionId; }
+    void setRegionId(const QString &value) { regionId = value; }
 
     QString getCategory() { return category; }
-    void setCategory(QString category) { this->category = category; }
+    void setCategory(const QString &value) { category = value; }
 
     QString getLabel() { return label; }
-    void setLabel(QString label) { this->label = label; }
+    void setLabel(const QString &value) { label = value; }
 
     QString getTime() { return time; }
-    void setTime(QString time) { this->time = time; }
+    void setTime(const QString &value) { time = value; }
 
     void loadVideos(int max, int startIndex);
     void abort();
index 9fdf2630711786dc2e5450e8db32374a59e6a0d6..a16022de26beca265be77af4f63920502eeb7c6a 100644 (file)
--- a/style.css
+++ b/style.css
@@ -7,6 +7,12 @@ QStatusBar QToolBar {
     border:0;
 }
 
+QStatusBar QToolBar QToolButton {
+    padding:0;
+    spacing:0;
+    margin:0;
+}
+
 QStatusBar QToolButton::menu-indicator {
     image: none;
 }
@@ -15,16 +21,16 @@ QStatusBar QToolButton::menu-indicator {
 
 RegionsView QPushButton[regionId] {
     margin: 5px;
-    padding: 10px;
+    padding: 7px 10px;
     text-align: left;
     vertical-align: middle;
     background-color: transparent;
     border: 1px solid transparent;
-    border-radius: 10px;
+    border-radius: 5px;
 }
 
 RegionsView QPushButton[regionId=""] {
-    font-weight: bold;
+
 }
 
 RegionsView QPushButton[regionId]:hover {
@@ -75,3 +81,7 @@ SidebarHeader QComboBox::drop-down {
     width: 0;
     border-style: none;
 }
+
+QLabel[recentHeader="true"] {
+    color: rgba(0,0,0,128);
+}