]> git.sur5r.net Git - minitube/commitdiff
Imported Upstream version 2.0 upstream/2.0
authorJakob Haufe <sur5r@sur5r.net>
Fri, 17 May 2013 14:35:22 +0000 (16:35 +0200)
committerJakob Haufe <sur5r@sur5r.net>
Fri, 17 May 2013 14:35:22 +0000 (16:35 +0200)
403 files changed:
.gitignore
CHANGES
TODO
empty.ts
flags/aa.png [new file with mode: 0644]
flags/ad.png [new file with mode: 0644]
flags/ae.png [new file with mode: 0644]
flags/af.png [new file with mode: 0644]
flags/ag.png [new file with mode: 0644]
flags/ai.png [new file with mode: 0644]
flags/al.png [new file with mode: 0644]
flags/am.png [new file with mode: 0644]
flags/ao.png [new file with mode: 0644]
flags/aq.png [new file with mode: 0644]
flags/ar.png [new file with mode: 0644]
flags/as.png [new file with mode: 0644]
flags/at.png [new file with mode: 0644]
flags/au.png [new file with mode: 0644]
flags/aw.png [new file with mode: 0644]
flags/ax.png [new file with mode: 0644]
flags/az.png [new file with mode: 0644]
flags/ba.png [new file with mode: 0644]
flags/bb.png [new file with mode: 0644]
flags/bd.png [new file with mode: 0644]
flags/be.png [new file with mode: 0644]
flags/bf.png [new file with mode: 0644]
flags/bg.png [new file with mode: 0644]
flags/bh.png [new file with mode: 0644]
flags/bi.png [new file with mode: 0644]
flags/bj.png [new file with mode: 0644]
flags/bl.png [new file with mode: 0644]
flags/bm.png [new file with mode: 0644]
flags/bn.png [new file with mode: 0644]
flags/bo.png [new file with mode: 0644]
flags/bq.png [new file with mode: 0644]
flags/br.png [new file with mode: 0644]
flags/bs.png [new file with mode: 0644]
flags/bt.png [new file with mode: 0644]
flags/bv.png [new file with mode: 0644]
flags/bw.png [new file with mode: 0644]
flags/by.png [new file with mode: 0644]
flags/bz.png [new file with mode: 0644]
flags/ca.png [new file with mode: 0644]
flags/cc.png [new file with mode: 0644]
flags/cd.png [new file with mode: 0644]
flags/cf.png [new file with mode: 0644]
flags/cg.png [new file with mode: 0644]
flags/ch.png [new file with mode: 0644]
flags/ci.png [new file with mode: 0644]
flags/ck.png [new file with mode: 0644]
flags/cl.png [new file with mode: 0644]
flags/cm.png [new file with mode: 0644]
flags/cn.png [new file with mode: 0644]
flags/co.png [new file with mode: 0644]
flags/cr.png [new file with mode: 0644]
flags/cu.png [new file with mode: 0644]
flags/cv.png [new file with mode: 0644]
flags/cw.png [new file with mode: 0644]
flags/cx.png [new file with mode: 0644]
flags/cy.png [new file with mode: 0644]
flags/cz.png [new file with mode: 0644]
flags/de.png [new file with mode: 0644]
flags/dj.png [new file with mode: 0644]
flags/dk.png [new file with mode: 0644]
flags/dm.png [new file with mode: 0644]
flags/do.png [new file with mode: 0644]
flags/dz.png [new file with mode: 0644]
flags/ec.png [new file with mode: 0644]
flags/ee.png [new file with mode: 0644]
flags/eg.png [new file with mode: 0644]
flags/eh.png [new file with mode: 0644]
flags/eo.png [new file with mode: 0644]
flags/er.png [new file with mode: 0644]
flags/es.png [new file with mode: 0644]
flags/et.png [new file with mode: 0644]
flags/fi.png [new file with mode: 0644]
flags/fj.png [new file with mode: 0644]
flags/fk.png [new file with mode: 0644]
flags/fm.png [new file with mode: 0644]
flags/fo.png [new file with mode: 0644]
flags/fr.png [new file with mode: 0644]
flags/ga.png [new file with mode: 0644]
flags/gb.png [new file with mode: 0644]
flags/gd.png [new file with mode: 0644]
flags/ge.png [new file with mode: 0644]
flags/gf.png [new file with mode: 0644]
flags/gg.png [new file with mode: 0644]
flags/gh.png [new file with mode: 0644]
flags/gi.png [new file with mode: 0644]
flags/gl.png [new file with mode: 0644]
flags/gm.png [new file with mode: 0644]
flags/gn.png [new file with mode: 0644]
flags/gp.png [new file with mode: 0644]
flags/gq.png [new file with mode: 0644]
flags/gr.png [new file with mode: 0644]
flags/gs.png [new file with mode: 0644]
flags/gt.png [new file with mode: 0644]
flags/gu.png [new file with mode: 0644]
flags/gw.png [new file with mode: 0644]
flags/gy.png [new file with mode: 0644]
flags/hk.png [new file with mode: 0644]
flags/hm.png [new file with mode: 0644]
flags/hn.png [new file with mode: 0644]
flags/hr.png [new file with mode: 0644]
flags/ht.png [new file with mode: 0644]
flags/hu.png [new file with mode: 0644]
flags/id.png [new file with mode: 0644]
flags/ie.png [new file with mode: 0644]
flags/il.png [new file with mode: 0644]
flags/im.png [new file with mode: 0644]
flags/in.png [new file with mode: 0644]
flags/io.png [new file with mode: 0644]
flags/iq.png [new file with mode: 0644]
flags/ir.png [new file with mode: 0644]
flags/is.png [new file with mode: 0644]
flags/it.png [new file with mode: 0644]
flags/je.png [new file with mode: 0644]
flags/jm.png [new file with mode: 0644]
flags/jo.png [new file with mode: 0644]
flags/jp.png [new file with mode: 0644]
flags/ke.png [new file with mode: 0644]
flags/kg.png [new file with mode: 0644]
flags/kh.png [new file with mode: 0644]
flags/ki.png [new file with mode: 0644]
flags/km.png [new file with mode: 0644]
flags/kn.png [new file with mode: 0644]
flags/kp.png [new file with mode: 0644]
flags/kr.png [new file with mode: 0644]
flags/kw.png [new file with mode: 0644]
flags/ky.png [new file with mode: 0644]
flags/kz.png [new file with mode: 0644]
flags/la.png [new file with mode: 0644]
flags/lb.png [new file with mode: 0644]
flags/lc.png [new file with mode: 0644]
flags/li.png [new file with mode: 0644]
flags/lk.png [new file with mode: 0644]
flags/lr.png [new file with mode: 0644]
flags/ls.png [new file with mode: 0644]
flags/lt.png [new file with mode: 0644]
flags/lu.png [new file with mode: 0644]
flags/lv.png [new file with mode: 0644]
flags/ly.png [new file with mode: 0644]
flags/ma.png [new file with mode: 0644]
flags/mc.png [new file with mode: 0644]
flags/md.png [new file with mode: 0644]
flags/me.png [new file with mode: 0644]
flags/mf.png [new file with mode: 0644]
flags/mg.png [new file with mode: 0644]
flags/mh.png [new file with mode: 0644]
flags/mk.png [new file with mode: 0644]
flags/ml.png [new file with mode: 0644]
flags/mm.png [new file with mode: 0644]
flags/mn.png [new file with mode: 0644]
flags/mo.png [new file with mode: 0644]
flags/mp.png [new file with mode: 0644]
flags/mq.png [new file with mode: 0644]
flags/mr.png [new file with mode: 0644]
flags/ms.png [new file with mode: 0644]
flags/mt.png [new file with mode: 0644]
flags/mu.png [new file with mode: 0644]
flags/mv.png [new file with mode: 0644]
flags/mw.png [new file with mode: 0644]
flags/mx.png [new file with mode: 0644]
flags/my.png [new file with mode: 0644]
flags/mz.png [new file with mode: 0644]
flags/na.png [new file with mode: 0644]
flags/nc.png [new file with mode: 0644]
flags/ne.png [new file with mode: 0644]
flags/nf.png [new file with mode: 0644]
flags/ng.png [new file with mode: 0644]
flags/ni.png [new file with mode: 0644]
flags/nl.png [new file with mode: 0644]
flags/no.png [new file with mode: 0644]
flags/np.png [new file with mode: 0644]
flags/nr.png [new file with mode: 0644]
flags/nu.png [new file with mode: 0644]
flags/nz.png [new file with mode: 0644]
flags/om.png [new file with mode: 0644]
flags/pa.png [new file with mode: 0644]
flags/pe.png [new file with mode: 0644]
flags/pf.png [new file with mode: 0644]
flags/pg.png [new file with mode: 0644]
flags/ph.png [new file with mode: 0644]
flags/pk.png [new file with mode: 0644]
flags/pl.png [new file with mode: 0644]
flags/pm.png [new file with mode: 0644]
flags/pn.png [new file with mode: 0644]
flags/pr.png [new file with mode: 0644]
flags/ps.png [new file with mode: 0644]
flags/pt.png [new file with mode: 0644]
flags/pw.png [new file with mode: 0644]
flags/py.png [new file with mode: 0644]
flags/qa.png [new file with mode: 0644]
flags/re.png [new file with mode: 0644]
flags/ro.png [new file with mode: 0644]
flags/rs.png [new file with mode: 0644]
flags/ru.png [new file with mode: 0644]
flags/rw.png [new file with mode: 0644]
flags/sa.png [new file with mode: 0644]
flags/sb.png [new file with mode: 0644]
flags/sc.png [new file with mode: 0644]
flags/sd.png [new file with mode: 0644]
flags/se.png [new file with mode: 0644]
flags/sg.png [new file with mode: 0644]
flags/sh.png [new file with mode: 0644]
flags/si.png [new file with mode: 0644]
flags/sj.png [new file with mode: 0644]
flags/sk.png [new file with mode: 0644]
flags/sl.png [new file with mode: 0644]
flags/sm.png [new file with mode: 0644]
flags/sn.png [new file with mode: 0644]
flags/so.png [new file with mode: 0644]
flags/sr.png [new file with mode: 0644]
flags/ss.png [new file with mode: 0644]
flags/st.png [new file with mode: 0644]
flags/sv.png [new file with mode: 0644]
flags/sx.png [new file with mode: 0644]
flags/sy.png [new file with mode: 0644]
flags/sz.png [new file with mode: 0644]
flags/tc.png [new file with mode: 0644]
flags/td.png [new file with mode: 0644]
flags/tf.png [new file with mode: 0644]
flags/tg.png [new file with mode: 0644]
flags/th.png [new file with mode: 0644]
flags/tj.png [new file with mode: 0644]
flags/tk.png [new file with mode: 0644]
flags/tl.png [new file with mode: 0644]
flags/tm.png [new file with mode: 0644]
flags/tn.png [new file with mode: 0644]
flags/to.png [new file with mode: 0644]
flags/tr.png [new file with mode: 0644]
flags/tt.png [new file with mode: 0644]
flags/tv.png [new file with mode: 0644]
flags/tw.png [new file with mode: 0644]
flags/tz.png [new file with mode: 0644]
flags/ua.png [new file with mode: 0644]
flags/ug.png [new file with mode: 0644]
flags/um.png [new file with mode: 0644]
flags/us.png [new file with mode: 0644]
flags/uy.png [new file with mode: 0644]
flags/uz.png [new file with mode: 0644]
flags/va.png [new file with mode: 0644]
flags/vc.png [new file with mode: 0644]
flags/ve.png [new file with mode: 0644]
flags/vg.png [new file with mode: 0644]
flags/vi.png [new file with mode: 0644]
flags/vn.png [new file with mode: 0644]
flags/vu.png [new file with mode: 0644]
flags/wf.png [new file with mode: 0644]
flags/ws.png [new file with mode: 0644]
flags/ye.png [new file with mode: 0644]
flags/yt.png [new file with mode: 0644]
flags/za.png [new file with mode: 0644]
flags/zm.png [new file with mode: 0644]
flags/zw.png [new file with mode: 0644]
images/worldwide.png [new file with mode: 0644]
locale/ar.ts
locale/ca.ts
locale/ca_ES.ts
locale/cs_CZ.ts [new file with mode: 0644]
locale/da.ts
locale/de_DE.ts
locale/el.ts
locale/es.ts
locale/es_AR.ts
locale/es_ES.ts
locale/fi.ts
locale/fi_FI.ts
locale/fr.ts
locale/gl.ts [deleted file]
locale/he_IL.ts
locale/hr.ts
locale/hu.ts
locale/ia.ts
locale/id.ts [deleted file]
locale/it.ts
locale/ja_JP.ts [new file with mode: 0644]
locale/jv.ts
locale/ka_GE.ts [deleted file]
locale/ky.ts [new file with mode: 0644]
locale/locale.pri
locale/nb.ts [deleted file]
locale/nl.ts
locale/nn.ts [deleted file]
locale/pl.ts
locale/pl_PL.ts
locale/pt.ts [deleted file]
locale/pt_BR.ts
locale/ro.ts
locale/ru.ts
locale/sk.ts
locale/sl.ts
locale/sq.ts [deleted file]
locale/sr.ts [deleted file]
locale/sv_SE.ts [deleted file]
locale/tr.ts
locale/uk_UA.ts [deleted file]
locale/zh_CN.ts
minitube.desktop
minitube.pro
resources.qrc
src/AboutView.cpp [deleted file]
src/AboutView.h [deleted file]
src/ListModel.cpp [deleted file]
src/ListModel.h [deleted file]
src/MainWindow.cpp [deleted file]
src/MainWindow.h [deleted file]
src/MediaView.cpp [deleted file]
src/MediaView.h [deleted file]
src/SearchView.cpp [deleted file]
src/SearchView.h [deleted file]
src/Suggester.h
src/View.h [deleted file]
src/aboutview.cpp [new file with mode: 0644]
src/aboutview.h [new file with mode: 0644]
src/channelsuggest.cpp
src/diskcache.cpp [new file with mode: 0644]
src/diskcache.h [new file with mode: 0644]
src/downloaditem.cpp
src/downloadlistview.cpp
src/downloadmanager.cpp
src/downloadmodel.cpp
src/downloadsettings.cpp
src/downloadview.cpp
src/downloadview.h
src/global.h
src/homeview.cpp [new file with mode: 0644]
src/homeview.h [new file with mode: 0644]
src/iconloader/qticonloader.h [deleted file]
src/main.cpp
src/mainwindow.cpp [new file with mode: 0644]
src/mainwindow.h [new file with mode: 0644]
src/mediaview.cpp [new file with mode: 0644]
src/mediaview.h [new file with mode: 0644]
src/networkaccess.cpp
src/networkaccess.h
src/playlist/PrettyItemDelegate.cpp [deleted file]
src/playlist/PrettyItemDelegate.h [deleted file]
src/playlistitemdelegate.cpp [new file with mode: 0644]
src/playlistitemdelegate.h [new file with mode: 0644]
src/playlistmodel.cpp [new file with mode: 0644]
src/playlistmodel.h [new file with mode: 0644]
src/playlistsuggest.cpp [new file with mode: 0644]
src/playlistsuggest.h [new file with mode: 0644]
src/playlistview.cpp
src/playlistview.h
src/playlistwidget.cpp [deleted file]
src/playlistwidget.h [deleted file]
src/qtsingleapplication/qtlocalpeer.cpp
src/refinesearchwidget.cpp
src/regionsview.cpp [new file with mode: 0644]
src/regionsview.h [new file with mode: 0644]
src/searchparams.cpp
src/searchparams.h
src/searchview.cpp [new file with mode: 0644]
src/searchview.h [new file with mode: 0644]
src/segmentedcontrol.cpp
src/sidebarheader.cpp [new file with mode: 0644]
src/sidebarheader.h [new file with mode: 0644]
src/sidebarwidget.cpp
src/sidebarwidget.h
src/standardfeedsview.cpp [new file with mode: 0644]
src/standardfeedsview.h [new file with mode: 0644]
src/suggester.h
src/thlibrary/thblackbar.cpp [deleted file]
src/thlibrary/thblackbar.h [deleted file]
src/thlibrary/thlibrary.pri [deleted file]
src/updatechecker.cpp
src/userview.cpp [new file with mode: 0644]
src/userview.h [new file with mode: 0644]
src/utils.cpp [new file with mode: 0644]
src/utils.h [new file with mode: 0644]
src/video.cpp
src/video.h
src/videoareawidget.cpp
src/videoareawidget.h
src/videomimedata.cpp
src/videosource.cpp [new file with mode: 0644]
src/videosource.h [new file with mode: 0644]
src/videosourcewidget.cpp [new file with mode: 0644]
src/videosourcewidget.h [new file with mode: 0644]
src/view.h [new file with mode: 0644]
src/youtubesearch.cpp [deleted file]
src/youtubesearch.h [deleted file]
src/youtubestreamreader.cpp [deleted file]
src/youtubestreamreader.h [deleted file]
src/youtubesuggest.cpp [deleted file]
src/youtubesuggest.h [deleted file]
src/ytcategories.cpp [new file with mode: 0644]
src/ytcategories.h [new file with mode: 0644]
src/ytfeedreader.cpp [new file with mode: 0644]
src/ytfeedreader.h [new file with mode: 0644]
src/ytregions.cpp [new file with mode: 0644]
src/ytregions.h [new file with mode: 0644]
src/ytsearch.cpp [new file with mode: 0644]
src/ytsearch.h [new file with mode: 0644]
src/ytsinglevideosource.cpp [new file with mode: 0644]
src/ytsinglevideosource.h [new file with mode: 0644]
src/ytstandardfeed.cpp [new file with mode: 0644]
src/ytstandardfeed.h [new file with mode: 0644]
src/ytsuggester.cpp [new file with mode: 0644]
src/ytsuggester.h [new file with mode: 0644]
style.css [new file with mode: 0644]

index d3fbddf063b1c1bcdbe492013af9a8476556ab15..c645b5d9713d1506f38aa9a1f58909254d3aa01c 100644 (file)
@@ -8,3 +8,5 @@ minitube.pro.user
 local/
 *.swp
 .tx
+android
+qtc_packaging
diff --git a/CHANGES b/CHANGES
index ed037c42ac9b3acfa09fd93224ea0c924726489f..a3127f831939d65ccc1f12d8d1d0016df7bdd2e9 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,17 @@
+2.0 - January ?? 2013
+- YouTube categories and "standard feeds": "Most Popular", "Featured", etc
+- Country selection for YouTube categories and feeds
+- Autoupdate on Mac and Windows
+- Related videos are now appended to the video when pasting a YouTube link
+- "Show 10 More" with a single click
+- Play video in the playlist with a single click on its thumbnail
+- OS X Mountain Lion notifications on video start
+- Fixed some YouTube links not working when pasted in the searchbox
+- Fixed playlist drag'n'drop
+- Fixed system language settings detection
+- Fixed clicking on channel names not working in some cases
+- Fixed incorrect number of downloads in status bar
+
 1.9 - September 27, 2012
 - Adapted to YouTube changes
 - New search filter UI. Filter results by publication date, video duration and video quality.
diff --git a/TODO b/TODO
index ac4e29e44e2eab3d15894f2a11c8f1b5cf3629ef..6d26b32dd0ae1aa0ee5e707308c7296c1efb3a6c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,20 +2,11 @@
 
 ## Major features
 
-- Snapshots
-
-- Features for logged in users:
-    * Channel subscriptions (r/w)
-    * Favorite videos (r/w)
-    * Comments (r/w)
-    * Likes (r/w)
-    * Playlists (r/w)
-
-- Related videos
-    List of related videos identical to the playlist.
-    When a related video is clicked Minitube will keep playing the next related videos.
-    Don't know where the list should appear, maybe on the right, but when activated it should replace the playlist.
-    Maybe the playlist should disappear, leaving only the panel on the right.
+- Snapshots (Cannot be done with Phonon)
+
+- Channel subscriptions
+
+- Favorite videos
 
 - Info view
     Displays video metadata. Could be somewhat linked with related videos...
index 0ec1d220ace311bc956877624b3fcde327ca9982..fba82a12aeb2a304e5b32a8c41f5a2eb67e73bf7 100644 (file)
--- a/empty.ts
+++ b/empty.ts
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation type="unfinished"></translation>
     </message>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 </TS>
diff --git a/flags/aa.png b/flags/aa.png
new file mode 100644 (file)
index 0000000..00de749
Binary files /dev/null and b/flags/aa.png differ
diff --git a/flags/ad.png b/flags/ad.png
new file mode 100644 (file)
index 0000000..1797beb
Binary files /dev/null and b/flags/ad.png differ
diff --git a/flags/ae.png b/flags/ae.png
new file mode 100644 (file)
index 0000000..0c4384f
Binary files /dev/null and b/flags/ae.png differ
diff --git a/flags/af.png b/flags/af.png
new file mode 100644 (file)
index 0000000..c5d6ad0
Binary files /dev/null and b/flags/af.png differ
diff --git a/flags/ag.png b/flags/ag.png
new file mode 100644 (file)
index 0000000..9cd5ef6
Binary files /dev/null and b/flags/ag.png differ
diff --git a/flags/ai.png b/flags/ai.png
new file mode 100644 (file)
index 0000000..8773497
Binary files /dev/null and b/flags/ai.png differ
diff --git a/flags/al.png b/flags/al.png
new file mode 100644 (file)
index 0000000..dc74567
Binary files /dev/null and b/flags/al.png differ
diff --git a/flags/am.png b/flags/am.png
new file mode 100644 (file)
index 0000000..ffb0468
Binary files /dev/null and b/flags/am.png differ
diff --git a/flags/ao.png b/flags/ao.png
new file mode 100644 (file)
index 0000000..bb3e36c
Binary files /dev/null and b/flags/ao.png differ
diff --git a/flags/aq.png b/flags/aq.png
new file mode 100644 (file)
index 0000000..9434a79
Binary files /dev/null and b/flags/aq.png differ
diff --git a/flags/ar.png b/flags/ar.png
new file mode 100644 (file)
index 0000000..7d8f6c1
Binary files /dev/null and b/flags/ar.png differ
diff --git a/flags/as.png b/flags/as.png
new file mode 100644 (file)
index 0000000..7dcbf45
Binary files /dev/null and b/flags/as.png differ
diff --git a/flags/at.png b/flags/at.png
new file mode 100644 (file)
index 0000000..3fe9b01
Binary files /dev/null and b/flags/at.png differ
diff --git a/flags/au.png b/flags/au.png
new file mode 100644 (file)
index 0000000..1337776
Binary files /dev/null and b/flags/au.png differ
diff --git a/flags/aw.png b/flags/aw.png
new file mode 100644 (file)
index 0000000..820da22
Binary files /dev/null and b/flags/aw.png differ
diff --git a/flags/ax.png b/flags/ax.png
new file mode 100644 (file)
index 0000000..558285c
Binary files /dev/null and b/flags/ax.png differ
diff --git a/flags/az.png b/flags/az.png
new file mode 100644 (file)
index 0000000..d3a59e9
Binary files /dev/null and b/flags/az.png differ
diff --git a/flags/ba.png b/flags/ba.png
new file mode 100644 (file)
index 0000000..8113723
Binary files /dev/null and b/flags/ba.png differ
diff --git a/flags/bb.png b/flags/bb.png
new file mode 100644 (file)
index 0000000..81bccb3
Binary files /dev/null and b/flags/bb.png differ
diff --git a/flags/bd.png b/flags/bd.png
new file mode 100644 (file)
index 0000000..984d0b1
Binary files /dev/null and b/flags/bd.png differ
diff --git a/flags/be.png b/flags/be.png
new file mode 100644 (file)
index 0000000..8db34d3
Binary files /dev/null and b/flags/be.png differ
diff --git a/flags/bf.png b/flags/bf.png
new file mode 100644 (file)
index 0000000..27a9bc0
Binary files /dev/null and b/flags/bf.png differ
diff --git a/flags/bg.png b/flags/bg.png
new file mode 100644 (file)
index 0000000..656ccae
Binary files /dev/null and b/flags/bg.png differ
diff --git a/flags/bh.png b/flags/bh.png
new file mode 100644 (file)
index 0000000..76b0abd
Binary files /dev/null and b/flags/bh.png differ
diff --git a/flags/bi.png b/flags/bi.png
new file mode 100644 (file)
index 0000000..5ee2762
Binary files /dev/null and b/flags/bi.png differ
diff --git a/flags/bj.png b/flags/bj.png
new file mode 100644 (file)
index 0000000..8eb7145
Binary files /dev/null and b/flags/bj.png differ
diff --git a/flags/bl.png b/flags/bl.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/bl.png differ
diff --git a/flags/bm.png b/flags/bm.png
new file mode 100644 (file)
index 0000000..dfb2903
Binary files /dev/null and b/flags/bm.png differ
diff --git a/flags/bn.png b/flags/bn.png
new file mode 100644 (file)
index 0000000..bb297c0
Binary files /dev/null and b/flags/bn.png differ
diff --git a/flags/bo.png b/flags/bo.png
new file mode 100644 (file)
index 0000000..0b925cc
Binary files /dev/null and b/flags/bo.png differ
diff --git a/flags/bq.png b/flags/bq.png
new file mode 100644 (file)
index 0000000..0537acb
Binary files /dev/null and b/flags/bq.png differ
diff --git a/flags/br.png b/flags/br.png
new file mode 100644 (file)
index 0000000..0388ab2
Binary files /dev/null and b/flags/br.png differ
diff --git a/flags/bs.png b/flags/bs.png
new file mode 100644 (file)
index 0000000..08d7740
Binary files /dev/null and b/flags/bs.png differ
diff --git a/flags/bt.png b/flags/bt.png
new file mode 100644 (file)
index 0000000..5dbf784
Binary files /dev/null and b/flags/bt.png differ
diff --git a/flags/bv.png b/flags/bv.png
new file mode 100644 (file)
index 0000000..efd5c47
Binary files /dev/null and b/flags/bv.png differ
diff --git a/flags/bw.png b/flags/bw.png
new file mode 100644 (file)
index 0000000..324f49d
Binary files /dev/null and b/flags/bw.png differ
diff --git a/flags/by.png b/flags/by.png
new file mode 100644 (file)
index 0000000..4af566a
Binary files /dev/null and b/flags/by.png differ
diff --git a/flags/bz.png b/flags/bz.png
new file mode 100644 (file)
index 0000000..8e03b90
Binary files /dev/null and b/flags/bz.png differ
diff --git a/flags/ca.png b/flags/ca.png
new file mode 100644 (file)
index 0000000..41e3b9b
Binary files /dev/null and b/flags/ca.png differ
diff --git a/flags/cc.png b/flags/cc.png
new file mode 100644 (file)
index 0000000..1337776
Binary files /dev/null and b/flags/cc.png differ
diff --git a/flags/cd.png b/flags/cd.png
new file mode 100644 (file)
index 0000000..d6db89e
Binary files /dev/null and b/flags/cd.png differ
diff --git a/flags/cf.png b/flags/cf.png
new file mode 100644 (file)
index 0000000..40bc0bc
Binary files /dev/null and b/flags/cf.png differ
diff --git a/flags/cg.png b/flags/cg.png
new file mode 100644 (file)
index 0000000..73b99f9
Binary files /dev/null and b/flags/cg.png differ
diff --git a/flags/ch.png b/flags/ch.png
new file mode 100644 (file)
index 0000000..2bcf775
Binary files /dev/null and b/flags/ch.png differ
diff --git a/flags/ci.png b/flags/ci.png
new file mode 100644 (file)
index 0000000..fa83e47
Binary files /dev/null and b/flags/ci.png differ
diff --git a/flags/ck.png b/flags/ck.png
new file mode 100644 (file)
index 0000000..970a2b6
Binary files /dev/null and b/flags/ck.png differ
diff --git a/flags/cl.png b/flags/cl.png
new file mode 100644 (file)
index 0000000..b8a76b0
Binary files /dev/null and b/flags/cl.png differ
diff --git a/flags/cm.png b/flags/cm.png
new file mode 100644 (file)
index 0000000..c5b103d
Binary files /dev/null and b/flags/cm.png differ
diff --git a/flags/cn.png b/flags/cn.png
new file mode 100644 (file)
index 0000000..643342a
Binary files /dev/null and b/flags/cn.png differ
diff --git a/flags/co.png b/flags/co.png
new file mode 100644 (file)
index 0000000..d8ce22f
Binary files /dev/null and b/flags/co.png differ
diff --git a/flags/cr.png b/flags/cr.png
new file mode 100644 (file)
index 0000000..203d97d
Binary files /dev/null and b/flags/cr.png differ
diff --git a/flags/cu.png b/flags/cu.png
new file mode 100644 (file)
index 0000000..df19b36
Binary files /dev/null and b/flags/cu.png differ
diff --git a/flags/cv.png b/flags/cv.png
new file mode 100644 (file)
index 0000000..5d3738b
Binary files /dev/null and b/flags/cv.png differ
diff --git a/flags/cw.png b/flags/cw.png
new file mode 100644 (file)
index 0000000..8df3897
Binary files /dev/null and b/flags/cw.png differ
diff --git a/flags/cx.png b/flags/cx.png
new file mode 100644 (file)
index 0000000..9d5e140
Binary files /dev/null and b/flags/cx.png differ
diff --git a/flags/cy.png b/flags/cy.png
new file mode 100644 (file)
index 0000000..f1b75cc
Binary files /dev/null and b/flags/cy.png differ
diff --git a/flags/cz.png b/flags/cz.png
new file mode 100644 (file)
index 0000000..7045331
Binary files /dev/null and b/flags/cz.png differ
diff --git a/flags/de.png b/flags/de.png
new file mode 100644 (file)
index 0000000..6e4227c
Binary files /dev/null and b/flags/de.png differ
diff --git a/flags/dj.png b/flags/dj.png
new file mode 100644 (file)
index 0000000..f47f94a
Binary files /dev/null and b/flags/dj.png differ
diff --git a/flags/dk.png b/flags/dk.png
new file mode 100644 (file)
index 0000000..9b4d4dd
Binary files /dev/null and b/flags/dk.png differ
diff --git a/flags/dm.png b/flags/dm.png
new file mode 100644 (file)
index 0000000..b7ca081
Binary files /dev/null and b/flags/dm.png differ
diff --git a/flags/do.png b/flags/do.png
new file mode 100644 (file)
index 0000000..28d278e
Binary files /dev/null and b/flags/do.png differ
diff --git a/flags/dz.png b/flags/dz.png
new file mode 100644 (file)
index 0000000..f7ee5a5
Binary files /dev/null and b/flags/dz.png differ
diff --git a/flags/ec.png b/flags/ec.png
new file mode 100644 (file)
index 0000000..8fadbf3
Binary files /dev/null and b/flags/ec.png differ
diff --git a/flags/ee.png b/flags/ee.png
new file mode 100644 (file)
index 0000000..b396554
Binary files /dev/null and b/flags/ee.png differ
diff --git a/flags/eg.png b/flags/eg.png
new file mode 100644 (file)
index 0000000..6a6c757
Binary files /dev/null and b/flags/eg.png differ
diff --git a/flags/eh.png b/flags/eh.png
new file mode 100644 (file)
index 0000000..cb34f16
Binary files /dev/null and b/flags/eh.png differ
diff --git a/flags/eo.png b/flags/eo.png
new file mode 100644 (file)
index 0000000..a81582a
Binary files /dev/null and b/flags/eo.png differ
diff --git a/flags/er.png b/flags/er.png
new file mode 100644 (file)
index 0000000..759a70f
Binary files /dev/null and b/flags/er.png differ
diff --git a/flags/es.png b/flags/es.png
new file mode 100644 (file)
index 0000000..e0221d0
Binary files /dev/null and b/flags/es.png differ
diff --git a/flags/et.png b/flags/et.png
new file mode 100644 (file)
index 0000000..f9b07e1
Binary files /dev/null and b/flags/et.png differ
diff --git a/flags/fi.png b/flags/fi.png
new file mode 100644 (file)
index 0000000..fa748e0
Binary files /dev/null and b/flags/fi.png differ
diff --git a/flags/fj.png b/flags/fj.png
new file mode 100644 (file)
index 0000000..e2374ef
Binary files /dev/null and b/flags/fj.png differ
diff --git a/flags/fk.png b/flags/fk.png
new file mode 100644 (file)
index 0000000..880b9fe
Binary files /dev/null and b/flags/fk.png differ
diff --git a/flags/fm.png b/flags/fm.png
new file mode 100644 (file)
index 0000000..05d0669
Binary files /dev/null and b/flags/fm.png differ
diff --git a/flags/fo.png b/flags/fo.png
new file mode 100644 (file)
index 0000000..c32504c
Binary files /dev/null and b/flags/fo.png differ
diff --git a/flags/fr.png b/flags/fr.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/fr.png differ
diff --git a/flags/ga.png b/flags/ga.png
new file mode 100644 (file)
index 0000000..448829f
Binary files /dev/null and b/flags/ga.png differ
diff --git a/flags/gb.png b/flags/gb.png
new file mode 100644 (file)
index 0000000..7792b6f
Binary files /dev/null and b/flags/gb.png differ
diff --git a/flags/gd.png b/flags/gd.png
new file mode 100644 (file)
index 0000000..2907cdd
Binary files /dev/null and b/flags/gd.png differ
diff --git a/flags/ge.png b/flags/ge.png
new file mode 100644 (file)
index 0000000..3e46cb6
Binary files /dev/null and b/flags/ge.png differ
diff --git a/flags/gf.png b/flags/gf.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/gf.png differ
diff --git a/flags/gg.png b/flags/gg.png
new file mode 100644 (file)
index 0000000..8d7dff0
Binary files /dev/null and b/flags/gg.png differ
diff --git a/flags/gh.png b/flags/gh.png
new file mode 100644 (file)
index 0000000..1f7e7a1
Binary files /dev/null and b/flags/gh.png differ
diff --git a/flags/gi.png b/flags/gi.png
new file mode 100644 (file)
index 0000000..dcfd125
Binary files /dev/null and b/flags/gi.png differ
diff --git a/flags/gl.png b/flags/gl.png
new file mode 100644 (file)
index 0000000..fcfd3f1
Binary files /dev/null and b/flags/gl.png differ
diff --git a/flags/gm.png b/flags/gm.png
new file mode 100644 (file)
index 0000000..e6036b5
Binary files /dev/null and b/flags/gm.png differ
diff --git a/flags/gn.png b/flags/gn.png
new file mode 100644 (file)
index 0000000..dc9f0a3
Binary files /dev/null and b/flags/gn.png differ
diff --git a/flags/gp.png b/flags/gp.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/gp.png differ
diff --git a/flags/gq.png b/flags/gq.png
new file mode 100644 (file)
index 0000000..027f740
Binary files /dev/null and b/flags/gq.png differ
diff --git a/flags/gr.png b/flags/gr.png
new file mode 100644 (file)
index 0000000..08e7682
Binary files /dev/null and b/flags/gr.png differ
diff --git a/flags/gs.png b/flags/gs.png
new file mode 100644 (file)
index 0000000..9ecf002
Binary files /dev/null and b/flags/gs.png differ
diff --git a/flags/gt.png b/flags/gt.png
new file mode 100644 (file)
index 0000000..8578339
Binary files /dev/null and b/flags/gt.png differ
diff --git a/flags/gu.png b/flags/gu.png
new file mode 100644 (file)
index 0000000..03a2240
Binary files /dev/null and b/flags/gu.png differ
diff --git a/flags/gw.png b/flags/gw.png
new file mode 100644 (file)
index 0000000..8eab2cf
Binary files /dev/null and b/flags/gw.png differ
diff --git a/flags/gy.png b/flags/gy.png
new file mode 100644 (file)
index 0000000..8c2a856
Binary files /dev/null and b/flags/gy.png differ
diff --git a/flags/hk.png b/flags/hk.png
new file mode 100644 (file)
index 0000000..8c5fd7a
Binary files /dev/null and b/flags/hk.png differ
diff --git a/flags/hm.png b/flags/hm.png
new file mode 100644 (file)
index 0000000..369a261
Binary files /dev/null and b/flags/hm.png differ
diff --git a/flags/hn.png b/flags/hn.png
new file mode 100644 (file)
index 0000000..837a4c5
Binary files /dev/null and b/flags/hn.png differ
diff --git a/flags/hr.png b/flags/hr.png
new file mode 100644 (file)
index 0000000..7d44171
Binary files /dev/null and b/flags/hr.png differ
diff --git a/flags/ht.png b/flags/ht.png
new file mode 100644 (file)
index 0000000..e899329
Binary files /dev/null and b/flags/ht.png differ
diff --git a/flags/hu.png b/flags/hu.png
new file mode 100644 (file)
index 0000000..3409688
Binary files /dev/null and b/flags/hu.png differ
diff --git a/flags/id.png b/flags/id.png
new file mode 100644 (file)
index 0000000..8121a6c
Binary files /dev/null and b/flags/id.png differ
diff --git a/flags/ie.png b/flags/ie.png
new file mode 100644 (file)
index 0000000..be36b16
Binary files /dev/null and b/flags/ie.png differ
diff --git a/flags/il.png b/flags/il.png
new file mode 100644 (file)
index 0000000..2559b9a
Binary files /dev/null and b/flags/il.png differ
diff --git a/flags/im.png b/flags/im.png
new file mode 100644 (file)
index 0000000..4b7eff7
Binary files /dev/null and b/flags/im.png differ
diff --git a/flags/in.png b/flags/in.png
new file mode 100644 (file)
index 0000000..f1bbf5b
Binary files /dev/null and b/flags/in.png differ
diff --git a/flags/io.png b/flags/io.png
new file mode 100644 (file)
index 0000000..a22b14f
Binary files /dev/null and b/flags/io.png differ
diff --git a/flags/iq.png b/flags/iq.png
new file mode 100644 (file)
index 0000000..c567515
Binary files /dev/null and b/flags/iq.png differ
diff --git a/flags/ir.png b/flags/ir.png
new file mode 100644 (file)
index 0000000..e9242fb
Binary files /dev/null and b/flags/ir.png differ
diff --git a/flags/is.png b/flags/is.png
new file mode 100644 (file)
index 0000000..00c2758
Binary files /dev/null and b/flags/is.png differ
diff --git a/flags/it.png b/flags/it.png
new file mode 100644 (file)
index 0000000..8ac6699
Binary files /dev/null and b/flags/it.png differ
diff --git a/flags/je.png b/flags/je.png
new file mode 100644 (file)
index 0000000..afca28e
Binary files /dev/null and b/flags/je.png differ
diff --git a/flags/jm.png b/flags/jm.png
new file mode 100644 (file)
index 0000000..42923df
Binary files /dev/null and b/flags/jm.png differ
diff --git a/flags/jo.png b/flags/jo.png
new file mode 100644 (file)
index 0000000..65deddc
Binary files /dev/null and b/flags/jo.png differ
diff --git a/flags/jp.png b/flags/jp.png
new file mode 100644 (file)
index 0000000..478fd9f
Binary files /dev/null and b/flags/jp.png differ
diff --git a/flags/ke.png b/flags/ke.png
new file mode 100644 (file)
index 0000000..580e255
Binary files /dev/null and b/flags/ke.png differ
diff --git a/flags/kg.png b/flags/kg.png
new file mode 100644 (file)
index 0000000..64fd7a3
Binary files /dev/null and b/flags/kg.png differ
diff --git a/flags/kh.png b/flags/kh.png
new file mode 100644 (file)
index 0000000..5367f59
Binary files /dev/null and b/flags/kh.png differ
diff --git a/flags/ki.png b/flags/ki.png
new file mode 100644 (file)
index 0000000..74ebc68
Binary files /dev/null and b/flags/ki.png differ
diff --git a/flags/km.png b/flags/km.png
new file mode 100644 (file)
index 0000000..3585c04
Binary files /dev/null and b/flags/km.png differ
diff --git a/flags/kn.png b/flags/kn.png
new file mode 100644 (file)
index 0000000..7f0625e
Binary files /dev/null and b/flags/kn.png differ
diff --git a/flags/kp.png b/flags/kp.png
new file mode 100644 (file)
index 0000000..7abcf8e
Binary files /dev/null and b/flags/kp.png differ
diff --git a/flags/kr.png b/flags/kr.png
new file mode 100644 (file)
index 0000000..590b981
Binary files /dev/null and b/flags/kr.png differ
diff --git a/flags/kw.png b/flags/kw.png
new file mode 100644 (file)
index 0000000..973cbe1
Binary files /dev/null and b/flags/kw.png differ
diff --git a/flags/ky.png b/flags/ky.png
new file mode 100644 (file)
index 0000000..339eb9a
Binary files /dev/null and b/flags/ky.png differ
diff --git a/flags/kz.png b/flags/kz.png
new file mode 100644 (file)
index 0000000..89ff910
Binary files /dev/null and b/flags/kz.png differ
diff --git a/flags/la.png b/flags/la.png
new file mode 100644 (file)
index 0000000..d7f3c1d
Binary files /dev/null and b/flags/la.png differ
diff --git a/flags/lb.png b/flags/lb.png
new file mode 100644 (file)
index 0000000..86df7b5
Binary files /dev/null and b/flags/lb.png differ
diff --git a/flags/lc.png b/flags/lc.png
new file mode 100644 (file)
index 0000000..d522ed7
Binary files /dev/null and b/flags/lc.png differ
diff --git a/flags/li.png b/flags/li.png
new file mode 100644 (file)
index 0000000..9c9d485
Binary files /dev/null and b/flags/li.png differ
diff --git a/flags/lk.png b/flags/lk.png
new file mode 100644 (file)
index 0000000..78f8768
Binary files /dev/null and b/flags/lk.png differ
diff --git a/flags/lr.png b/flags/lr.png
new file mode 100644 (file)
index 0000000..6c564bc
Binary files /dev/null and b/flags/lr.png differ
diff --git a/flags/ls.png b/flags/ls.png
new file mode 100644 (file)
index 0000000..5c5336b
Binary files /dev/null and b/flags/ls.png differ
diff --git a/flags/lt.png b/flags/lt.png
new file mode 100644 (file)
index 0000000..8a359a5
Binary files /dev/null and b/flags/lt.png differ
diff --git a/flags/lu.png b/flags/lu.png
new file mode 100644 (file)
index 0000000..8cef647
Binary files /dev/null and b/flags/lu.png differ
diff --git a/flags/lv.png b/flags/lv.png
new file mode 100644 (file)
index 0000000..6398693
Binary files /dev/null and b/flags/lv.png differ
diff --git a/flags/ly.png b/flags/ly.png
new file mode 100644 (file)
index 0000000..266a909
Binary files /dev/null and b/flags/ly.png differ
diff --git a/flags/ma.png b/flags/ma.png
new file mode 100644 (file)
index 0000000..bb29b17
Binary files /dev/null and b/flags/ma.png differ
diff --git a/flags/mc.png b/flags/mc.png
new file mode 100644 (file)
index 0000000..7d5bccb
Binary files /dev/null and b/flags/mc.png differ
diff --git a/flags/md.png b/flags/md.png
new file mode 100644 (file)
index 0000000..5045a30
Binary files /dev/null and b/flags/md.png differ
diff --git a/flags/me.png b/flags/me.png
new file mode 100644 (file)
index 0000000..426fbf5
Binary files /dev/null and b/flags/me.png differ
diff --git a/flags/mf.png b/flags/mf.png
new file mode 100644 (file)
index 0000000..691826d
Binary files /dev/null and b/flags/mf.png differ
diff --git a/flags/mg.png b/flags/mg.png
new file mode 100644 (file)
index 0000000..83510ff
Binary files /dev/null and b/flags/mg.png differ
diff --git a/flags/mh.png b/flags/mh.png
new file mode 100644 (file)
index 0000000..c5bbf2d
Binary files /dev/null and b/flags/mh.png differ
diff --git a/flags/mk.png b/flags/mk.png
new file mode 100644 (file)
index 0000000..223af3e
Binary files /dev/null and b/flags/mk.png differ
diff --git a/flags/ml.png b/flags/ml.png
new file mode 100644 (file)
index 0000000..ccdd589
Binary files /dev/null and b/flags/ml.png differ
diff --git a/flags/mm.png b/flags/mm.png
new file mode 100644 (file)
index 0000000..122c42b
Binary files /dev/null and b/flags/mm.png differ
diff --git a/flags/mn.png b/flags/mn.png
new file mode 100644 (file)
index 0000000..741d90e
Binary files /dev/null and b/flags/mn.png differ
diff --git a/flags/mo.png b/flags/mo.png
new file mode 100644 (file)
index 0000000..2b7762c
Binary files /dev/null and b/flags/mo.png differ
diff --git a/flags/mp.png b/flags/mp.png
new file mode 100644 (file)
index 0000000..70f164a
Binary files /dev/null and b/flags/mp.png differ
diff --git a/flags/mq.png b/flags/mq.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/mq.png differ
diff --git a/flags/mr.png b/flags/mr.png
new file mode 100644 (file)
index 0000000..2c3ddf5
Binary files /dev/null and b/flags/mr.png differ
diff --git a/flags/ms.png b/flags/ms.png
new file mode 100644 (file)
index 0000000..a493f41
Binary files /dev/null and b/flags/ms.png differ
diff --git a/flags/mt.png b/flags/mt.png
new file mode 100644 (file)
index 0000000..f276dcc
Binary files /dev/null and b/flags/mt.png differ
diff --git a/flags/mu.png b/flags/mu.png
new file mode 100644 (file)
index 0000000..e85120c
Binary files /dev/null and b/flags/mu.png differ
diff --git a/flags/mv.png b/flags/mv.png
new file mode 100644 (file)
index 0000000..8922669
Binary files /dev/null and b/flags/mv.png differ
diff --git a/flags/mw.png b/flags/mw.png
new file mode 100644 (file)
index 0000000..d24b38a
Binary files /dev/null and b/flags/mw.png differ
diff --git a/flags/mx.png b/flags/mx.png
new file mode 100644 (file)
index 0000000..64bc962
Binary files /dev/null and b/flags/mx.png differ
diff --git a/flags/my.png b/flags/my.png
new file mode 100644 (file)
index 0000000..3ba4e6c
Binary files /dev/null and b/flags/my.png differ
diff --git a/flags/mz.png b/flags/mz.png
new file mode 100644 (file)
index 0000000..812613e
Binary files /dev/null and b/flags/mz.png differ
diff --git a/flags/na.png b/flags/na.png
new file mode 100644 (file)
index 0000000..e395bd8
Binary files /dev/null and b/flags/na.png differ
diff --git a/flags/nc.png b/flags/nc.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/nc.png differ
diff --git a/flags/ne.png b/flags/ne.png
new file mode 100644 (file)
index 0000000..8fba5a1
Binary files /dev/null and b/flags/ne.png differ
diff --git a/flags/nf.png b/flags/nf.png
new file mode 100644 (file)
index 0000000..37ab3a8
Binary files /dev/null and b/flags/nf.png differ
diff --git a/flags/ng.png b/flags/ng.png
new file mode 100644 (file)
index 0000000..5dd9c1a
Binary files /dev/null and b/flags/ng.png differ
diff --git a/flags/ni.png b/flags/ni.png
new file mode 100644 (file)
index 0000000..50cc637
Binary files /dev/null and b/flags/ni.png differ
diff --git a/flags/nl.png b/flags/nl.png
new file mode 100644 (file)
index 0000000..df2794e
Binary files /dev/null and b/flags/nl.png differ
diff --git a/flags/no.png b/flags/no.png
new file mode 100644 (file)
index 0000000..59138a7
Binary files /dev/null and b/flags/no.png differ
diff --git a/flags/np.png b/flags/np.png
new file mode 100644 (file)
index 0000000..37c8f29
Binary files /dev/null and b/flags/np.png differ
diff --git a/flags/nr.png b/flags/nr.png
new file mode 100644 (file)
index 0000000..d6408e2
Binary files /dev/null and b/flags/nr.png differ
diff --git a/flags/nu.png b/flags/nu.png
new file mode 100644 (file)
index 0000000..1dd6000
Binary files /dev/null and b/flags/nu.png differ
diff --git a/flags/nz.png b/flags/nz.png
new file mode 100644 (file)
index 0000000..ba5dfd1
Binary files /dev/null and b/flags/nz.png differ
diff --git a/flags/om.png b/flags/om.png
new file mode 100644 (file)
index 0000000..692229f
Binary files /dev/null and b/flags/om.png differ
diff --git a/flags/pa.png b/flags/pa.png
new file mode 100644 (file)
index 0000000..d1b7838
Binary files /dev/null and b/flags/pa.png differ
diff --git a/flags/pe.png b/flags/pe.png
new file mode 100644 (file)
index 0000000..513b986
Binary files /dev/null and b/flags/pe.png differ
diff --git a/flags/pf.png b/flags/pf.png
new file mode 100644 (file)
index 0000000..3bffe95
Binary files /dev/null and b/flags/pf.png differ
diff --git a/flags/pg.png b/flags/pg.png
new file mode 100644 (file)
index 0000000..f674483
Binary files /dev/null and b/flags/pg.png differ
diff --git a/flags/ph.png b/flags/ph.png
new file mode 100644 (file)
index 0000000..3c5c242
Binary files /dev/null and b/flags/ph.png differ
diff --git a/flags/pk.png b/flags/pk.png
new file mode 100644 (file)
index 0000000..bcc771c
Binary files /dev/null and b/flags/pk.png differ
diff --git a/flags/pl.png b/flags/pl.png
new file mode 100644 (file)
index 0000000..2ac25fe
Binary files /dev/null and b/flags/pl.png differ
diff --git a/flags/pm.png b/flags/pm.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/pm.png differ
diff --git a/flags/pn.png b/flags/pn.png
new file mode 100644 (file)
index 0000000..c88f11c
Binary files /dev/null and b/flags/pn.png differ
diff --git a/flags/pr.png b/flags/pr.png
new file mode 100644 (file)
index 0000000..3cdf8a2
Binary files /dev/null and b/flags/pr.png differ
diff --git a/flags/ps.png b/flags/ps.png
new file mode 100644 (file)
index 0000000..c0a7e9c
Binary files /dev/null and b/flags/ps.png differ
diff --git a/flags/pt.png b/flags/pt.png
new file mode 100644 (file)
index 0000000..37ff303
Binary files /dev/null and b/flags/pt.png differ
diff --git a/flags/pw.png b/flags/pw.png
new file mode 100644 (file)
index 0000000..40ca642
Binary files /dev/null and b/flags/pw.png differ
diff --git a/flags/py.png b/flags/py.png
new file mode 100644 (file)
index 0000000..4801324
Binary files /dev/null and b/flags/py.png differ
diff --git a/flags/qa.png b/flags/qa.png
new file mode 100644 (file)
index 0000000..5983296
Binary files /dev/null and b/flags/qa.png differ
diff --git a/flags/re.png b/flags/re.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/re.png differ
diff --git a/flags/ro.png b/flags/ro.png
new file mode 100644 (file)
index 0000000..ad1ffd2
Binary files /dev/null and b/flags/ro.png differ
diff --git a/flags/rs.png b/flags/rs.png
new file mode 100644 (file)
index 0000000..937a33e
Binary files /dev/null and b/flags/rs.png differ
diff --git a/flags/ru.png b/flags/ru.png
new file mode 100644 (file)
index 0000000..5575bee
Binary files /dev/null and b/flags/ru.png differ
diff --git a/flags/rw.png b/flags/rw.png
new file mode 100644 (file)
index 0000000..4189609
Binary files /dev/null and b/flags/rw.png differ
diff --git a/flags/sa.png b/flags/sa.png
new file mode 100644 (file)
index 0000000..0ac21cd
Binary files /dev/null and b/flags/sa.png differ
diff --git a/flags/sb.png b/flags/sb.png
new file mode 100644 (file)
index 0000000..cd27a52
Binary files /dev/null and b/flags/sb.png differ
diff --git a/flags/sc.png b/flags/sc.png
new file mode 100644 (file)
index 0000000..6163323
Binary files /dev/null and b/flags/sc.png differ
diff --git a/flags/sd.png b/flags/sd.png
new file mode 100644 (file)
index 0000000..3d5fdbf
Binary files /dev/null and b/flags/sd.png differ
diff --git a/flags/se.png b/flags/se.png
new file mode 100644 (file)
index 0000000..f838195
Binary files /dev/null and b/flags/se.png differ
diff --git a/flags/sg.png b/flags/sg.png
new file mode 100644 (file)
index 0000000..3109de1
Binary files /dev/null and b/flags/sg.png differ
diff --git a/flags/sh.png b/flags/sh.png
new file mode 100644 (file)
index 0000000..41f6dd9
Binary files /dev/null and b/flags/sh.png differ
diff --git a/flags/si.png b/flags/si.png
new file mode 100644 (file)
index 0000000..442768e
Binary files /dev/null and b/flags/si.png differ
diff --git a/flags/sj.png b/flags/sj.png
new file mode 100644 (file)
index 0000000..980b2e4
Binary files /dev/null and b/flags/sj.png differ
diff --git a/flags/sk.png b/flags/sk.png
new file mode 100644 (file)
index 0000000..ed0ae19
Binary files /dev/null and b/flags/sk.png differ
diff --git a/flags/sl.png b/flags/sl.png
new file mode 100644 (file)
index 0000000..1403c70
Binary files /dev/null and b/flags/sl.png differ
diff --git a/flags/sm.png b/flags/sm.png
new file mode 100644 (file)
index 0000000..69b230c
Binary files /dev/null and b/flags/sm.png differ
diff --git a/flags/sn.png b/flags/sn.png
new file mode 100644 (file)
index 0000000..53f1dda
Binary files /dev/null and b/flags/sn.png differ
diff --git a/flags/so.png b/flags/so.png
new file mode 100644 (file)
index 0000000..3b3bcc6
Binary files /dev/null and b/flags/so.png differ
diff --git a/flags/sr.png b/flags/sr.png
new file mode 100644 (file)
index 0000000..4e55bbc
Binary files /dev/null and b/flags/sr.png differ
diff --git a/flags/ss.png b/flags/ss.png
new file mode 100644 (file)
index 0000000..f809b6d
Binary files /dev/null and b/flags/ss.png differ
diff --git a/flags/st.png b/flags/st.png
new file mode 100644 (file)
index 0000000..976f5b8
Binary files /dev/null and b/flags/st.png differ
diff --git a/flags/sv.png b/flags/sv.png
new file mode 100644 (file)
index 0000000..9e96582
Binary files /dev/null and b/flags/sv.png differ
diff --git a/flags/sx.png b/flags/sx.png
new file mode 100644 (file)
index 0000000..691826d
Binary files /dev/null and b/flags/sx.png differ
diff --git a/flags/sy.png b/flags/sy.png
new file mode 100644 (file)
index 0000000..900dc2d
Binary files /dev/null and b/flags/sy.png differ
diff --git a/flags/sz.png b/flags/sz.png
new file mode 100644 (file)
index 0000000..8153162
Binary files /dev/null and b/flags/sz.png differ
diff --git a/flags/tc.png b/flags/tc.png
new file mode 100644 (file)
index 0000000..cddd919
Binary files /dev/null and b/flags/tc.png differ
diff --git a/flags/td.png b/flags/td.png
new file mode 100644 (file)
index 0000000..4ee6a39
Binary files /dev/null and b/flags/td.png differ
diff --git a/flags/tf.png b/flags/tf.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/tf.png differ
diff --git a/flags/tg.png b/flags/tg.png
new file mode 100644 (file)
index 0000000..9d6ab4a
Binary files /dev/null and b/flags/tg.png differ
diff --git a/flags/th.png b/flags/th.png
new file mode 100644 (file)
index 0000000..1aed666
Binary files /dev/null and b/flags/th.png differ
diff --git a/flags/tj.png b/flags/tj.png
new file mode 100644 (file)
index 0000000..630cc7d
Binary files /dev/null and b/flags/tj.png differ
diff --git a/flags/tk.png b/flags/tk.png
new file mode 100644 (file)
index 0000000..0c7a257
Binary files /dev/null and b/flags/tk.png differ
diff --git a/flags/tl.png b/flags/tl.png
new file mode 100644 (file)
index 0000000..b4c043f
Binary files /dev/null and b/flags/tl.png differ
diff --git a/flags/tm.png b/flags/tm.png
new file mode 100644 (file)
index 0000000..6eea744
Binary files /dev/null and b/flags/tm.png differ
diff --git a/flags/tn.png b/flags/tn.png
new file mode 100644 (file)
index 0000000..109f393
Binary files /dev/null and b/flags/tn.png differ
diff --git a/flags/to.png b/flags/to.png
new file mode 100644 (file)
index 0000000..2b808e4
Binary files /dev/null and b/flags/to.png differ
diff --git a/flags/tr.png b/flags/tr.png
new file mode 100644 (file)
index 0000000..43aa432
Binary files /dev/null and b/flags/tr.png differ
diff --git a/flags/tt.png b/flags/tt.png
new file mode 100644 (file)
index 0000000..ad90bf1
Binary files /dev/null and b/flags/tt.png differ
diff --git a/flags/tv.png b/flags/tv.png
new file mode 100644 (file)
index 0000000..fab20c6
Binary files /dev/null and b/flags/tv.png differ
diff --git a/flags/tw.png b/flags/tw.png
new file mode 100644 (file)
index 0000000..733d370
Binary files /dev/null and b/flags/tw.png differ
diff --git a/flags/tz.png b/flags/tz.png
new file mode 100644 (file)
index 0000000..bfc0993
Binary files /dev/null and b/flags/tz.png differ
diff --git a/flags/ua.png b/flags/ua.png
new file mode 100644 (file)
index 0000000..383c127
Binary files /dev/null and b/flags/ua.png differ
diff --git a/flags/ug.png b/flags/ug.png
new file mode 100644 (file)
index 0000000..4c977f2
Binary files /dev/null and b/flags/ug.png differ
diff --git a/flags/um.png b/flags/um.png
new file mode 100644 (file)
index 0000000..9ca0bfd
Binary files /dev/null and b/flags/um.png differ
diff --git a/flags/us.png b/flags/us.png
new file mode 100644 (file)
index 0000000..9ca0bfd
Binary files /dev/null and b/flags/us.png differ
diff --git a/flags/uy.png b/flags/uy.png
new file mode 100644 (file)
index 0000000..a90b9e0
Binary files /dev/null and b/flags/uy.png differ
diff --git a/flags/uz.png b/flags/uz.png
new file mode 100644 (file)
index 0000000..d83031f
Binary files /dev/null and b/flags/uz.png differ
diff --git a/flags/va.png b/flags/va.png
new file mode 100644 (file)
index 0000000..9935a8e
Binary files /dev/null and b/flags/va.png differ
diff --git a/flags/vc.png b/flags/vc.png
new file mode 100644 (file)
index 0000000..8e50bba
Binary files /dev/null and b/flags/vc.png differ
diff --git a/flags/ve.png b/flags/ve.png
new file mode 100644 (file)
index 0000000..fbb9820
Binary files /dev/null and b/flags/ve.png differ
diff --git a/flags/vg.png b/flags/vg.png
new file mode 100644 (file)
index 0000000..afb867a
Binary files /dev/null and b/flags/vg.png differ
diff --git a/flags/vi.png b/flags/vi.png
new file mode 100644 (file)
index 0000000..afb867a
Binary files /dev/null and b/flags/vi.png differ
diff --git a/flags/vn.png b/flags/vn.png
new file mode 100644 (file)
index 0000000..9b0536f
Binary files /dev/null and b/flags/vn.png differ
diff --git a/flags/vu.png b/flags/vu.png
new file mode 100644 (file)
index 0000000..d609d75
Binary files /dev/null and b/flags/vu.png differ
diff --git a/flags/wf.png b/flags/wf.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/wf.png differ
diff --git a/flags/ws.png b/flags/ws.png
new file mode 100644 (file)
index 0000000..d71b1a6
Binary files /dev/null and b/flags/ws.png differ
diff --git a/flags/ye.png b/flags/ye.png
new file mode 100644 (file)
index 0000000..e8c50f8
Binary files /dev/null and b/flags/ye.png differ
diff --git a/flags/yt.png b/flags/yt.png
new file mode 100644 (file)
index 0000000..2d0efbd
Binary files /dev/null and b/flags/yt.png differ
diff --git a/flags/za.png b/flags/za.png
new file mode 100644 (file)
index 0000000..695b53e
Binary files /dev/null and b/flags/za.png differ
diff --git a/flags/zm.png b/flags/zm.png
new file mode 100644 (file)
index 0000000..2fff587
Binary files /dev/null and b/flags/zm.png differ
diff --git a/flags/zw.png b/flags/zw.png
new file mode 100644 (file)
index 0000000..76af07f
Binary files /dev/null and b/flags/zw.png differ
diff --git a/images/worldwide.png b/images/worldwide.png
new file mode 100644 (file)
index 0000000..fb5f48b
Binary files /dev/null and b/images/worldwide.png differ
index 46fa95aa071fa23d3ba72fb9c7260f66dba89c13..ab70e18a05032d380fcb4e1d8ff9e33e8599a6e8 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>هناك حياة خارج المتصفح!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>النسخة %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 هو برنامج مجاني و لكن برمجته تستهلك وقتا ثمينا.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>قد ترغب في تجريب برامجي الأخرى أيضا</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1، قارئ موسيقى على اليوتيوب</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1، قارئ موسيقى</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>ترجم %1 إلى لغتك الأم بإستعمال %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>صمم الايقونة %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;اقفل</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>عن البرنامج</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>ما اردت معرفته عن %1 و لم تستطع ان تسأل</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>مسح</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>أدخل تفاصيل الرخصة الخاصة بك</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;البريد الألكتروني:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>الرجاء قم بترخيص %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>أنتهت مدة النسخة التجريبية.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>النسخة الكاملة تمكنك من تحميل الفيديوهات الأطوال من %1 دقيقة و مشاهدتها من دون إنقطاع.</translation>
+        <translation>النسخة الكاملة تمكنك من تحميل الفيديوهات الأطول من %1 دقيقة و مشاهدتها من دون إنقطاع.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>اÙ\84Ù\86سخة Ø§Ù\84تجرÙ\8aبة Ø³ØªÙ\86تÙ\87Ù\8a Ø®Ù\84اÙ\84 %1 Ù\8aÙ\88Ù\85.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>بدÙ\88Ù\86 Ø±Ø®ØµØ©, Ø³Ù\88Ù\81 ØªÙ\86تÙ\87Ù\8a Ø§Ù\84Ù\86سخة Ø§Ù\84تجرÙ\8aبÙ\8aØ© Ù\85Ù\86 Ù\87ذا Ø§Ù\84برÙ\86اÙ\85ج Ø®Ù\84اÙ\84 20 Ù\8aÙ\88Ù\85ا</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>بشراءÙ\83Ø© Ù\84Ù\84Ù\86سخة Ø§Ù\84Ù\83اÙ\85Ù\84Ø©Ø\8c Ø³Ù\88Ù\81 ØªÙ\82Ù\88Ù\85 Ø£Ù\8aضا Ø¨Ø¯Ø¹Ù\85 Ø§Ù\84عاÙ\85Ù\84 Ø¹شاق الذي قمت به في إنشاء %1.</translation>
+        <translation>بشرائÙ\83 Ø§Ù\84Ù\86سخة Ø§Ù\84Ù\83اÙ\85Ù\84Ø©Ø\8c Ø³Ù\88Ù\81 ØªÙ\82Ù\88Ù\85 Ø£Ù\8aضا Ø¨Ø¯Ø¹Ù\85 Ø§Ù\84عÙ\85Ù\84 Ø§Ù\84شاق الذي قمت به في إنشاء %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>إستخدÙ\85 Ù\85ثاÙ\84</translation>
+        <translation>استخدÙ\85 Ø§Ù\84Ù\86سخة Ø§Ù\84تجرÙ\8aبÙ\8aØ©</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>احصل على النسخة الكاملة</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>أدخل رخصة</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>قم بشراء رخصة</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>مسح</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>seconds</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 متبقي</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>متابعة</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>احصل على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 حمل في %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>انتهي التحميل</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <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>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>تغيير الموقع...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>اختر موقع التحميل</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>موقع التحميل تغير.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>التحميل سيتم في الموقع السابق.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>التحميل الى:%1</translation>
     </message>
         <translation>التحميلات</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>يتم الآن تحميل التحديث</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>جارÙ\8a Ø§Ù\84بحث...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>بحث</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>اظهر %1 المزيد</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>لا توجد فيديوات</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>أستعراض</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation> لا توجد فيديوات اخرى</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>تصفح الفيديوهات حسب الفئة</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>اجعل نفسك مرتاحا</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;قف</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>وقف التشغيل و العودة لوضع البحث</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;القفز</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>القفز للفيديو التالي</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;ايقاف مؤقت</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>ايقاف التشغيل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;شاشة كاملة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>تشغيل شاشة كاملة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>اخفاء القائمة و شريط المهام</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>اذهب الى صفحة فيديو YouTube و وقف التشغيل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>نسخ رابط YouTube الى clipboard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>نسخ رابط الفيديو الى clipboard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>اوجد أجزاء الفيديو الأخرى املا أن تكون في الترتيب الصحيح</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;إزالة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>إزالة الفيديو من القائمة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>الرفع الى &amp;اعلى</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>رفع المقاطع المختارة الى فوق في القائمة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>الانزال الى &amp;تحت</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>انزال المقاطع المختارة الى تحت في القائمة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>مسح تاريخ البحث. لا يمكن استعادته.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;الانتهاء</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>مع السلامة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;الموقع</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 على الشبكة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>‎الرجاء التبرع لمتابعة تطوير  %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;عن البرنامج</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>معلومات عن %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>البحث</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>كتم الصوت</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;التحميلات</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>عرض تفاصيل عن تحميلات الفيديو</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;التحميلات</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>تحميل الفيديو الحالي</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>شارك الفيديو الحالي باستخدام %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;البريد الإلكتروني</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>البريد الإلكتروني</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;اقفل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;اطفو علي القمة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;أوقف العرض التلقائي بعد الفيديو الحالي </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;أبلغ عن مشكلة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;خيارات البحث...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>المزيد...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;البرنامج</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>اشتري %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;قراءة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;القائمة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;الفيديو</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;مشاهدة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;شارك</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;المساعدة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>اضغط %1 لرفع الصوت و %2 لخفضه</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>جاري فتح %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>هل تريد الخروج %1  رغم وجود تحميل?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>عند اغلاق %1 التحميل سيلغى.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>الاغلاق و الغاء التحميل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>انتظار انتهاء التحميل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>غادر &amp;الشاشة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 الإصدار %2 متوفر الآن.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>ذكرني لاحقا</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>للحصول على أحدث نسخة , قم بتحميل %1 مرة أُخرى من الرابط الذي وصلك الى بريدك الألكتروني وأعد التثبيت </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>تحديث</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>خطأ: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>ال&amp;سابق</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>العودة إلى المجاز السابق</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;الواجهة الخفيفة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>أفتح صفحة الفيديو على &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>انسخ رابط الفيديو &amp;Link</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>انسخ الفيديو وعنوانه</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>أبحث عن &amp;أجزاء الفيديو الأُخرى</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;مسح تاريخ البحث </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>القيام بتبرع</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;تشغيل الفيديوهات يدويا</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>بدء تشغيل الفيديو يدويا</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;التشغيل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>اكمال التشغيل</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>الوقت المتبقي: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>%1%الصوت عند </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>الصوت مكتوم</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>الصوت غير مكتوم</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>الوضوح الاقصى %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>خصوصيتك امنة</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>التحميل انتهى</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>يمكنك لصق رابط YouTube في برنامج اخر</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>يمكنك لصق رابط الفيديو في برنامج اخر</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>الرابط سيكون صالحا لمدة محدودة.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>هذه ليست سوى النسخة التجريبية من %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>متابعة</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>من</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>أرسلت من %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>احصل على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>جاري تحميل %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>ذكرني لاحقا</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>تثبيت التحديث</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>خطأ شبكة:%1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>لصق</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 Ù\85شاÙ\87دات</translation>
+        <translation>%1 Ù\85شاÙ\87دة</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 من %2 (%3) - %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>تهيئة</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>فشل</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>تم</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>متوقف</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>ايقاف التحميل</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>اظهار في %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>فتح المجلد الرئيسي</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>اعادة التحميل</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>جاري البحث...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>اظهر %1 المزيد</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>لا توجد فيديوهات</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>لا يوجد المزيد من الفيديوهات</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>ترتيب بـ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>ذات صلة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>التاريخ</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>عدد المشاهدات</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>التقييم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>اي وقت</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>اليوم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 أيام</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 يوم</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>المدة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>الكل</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>قصير</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>متوسط</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>طويل</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>أقل من 4 دقائق</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>ما بين 4 ال 20 دقيقة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>أطول من 20 دقيقة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>الجودة</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>دقة عالية</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720 أو أعلي</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>إنتهي</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>الحصول على النسخة الكاملة</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation> كلمة مفتاح</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>قناة</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>لبدء مشاهدة أشرطة الفيديو</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>شاهد</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>كلمات بحث سابقة</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>القنوات الأخيرة</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>اجعل نفسك مرتاحا</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;عودة</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>خيارات البحث</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>هل تقصد: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>الأكثر شهرة</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>الأكثر مشاركة</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>الأعلى تقييما</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>لا يمكن الحصول على دفق الفيديو %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>خطأ شبكة:%1 الى %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>الجزائر</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>الأرجنتين</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>أستراليا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>بلجيكا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>البرازيل</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>كندا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>تشيلي</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>كولومبيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>جمهورية التشيك</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>مصر</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>فرنسا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>ألمانيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>غانا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>اليونان</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>هونغ كونغ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>هنغاريا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>الهند</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>إندونيسيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>إيرلندا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>إيطاليا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>اليابان</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>الأردن</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>كينيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>ماليزيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>المكسيك</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>المغرب</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>هولندا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>نيوزيلندا </translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>نيجيريا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>بيرو</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>الفلبين</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>بولندا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>روسيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>المملكة العربية السعودية</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>سنغافورة</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>جنوب أفريقيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>كوريا الجنوبية</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>إسبانيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>السويد</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>تايوان</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>تونس</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>تركيا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>أوغندا</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>الإمارات العربية المتحدة</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>المملكة المتحدة</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>اليمن</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>العالم</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index cdeeb7ae0a1d97748421bc199be23bab89d071c3..daadf4be28b21ed6d44c5c86f96532240b39696d 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versió %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <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="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icona dissenyada per %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Quant a</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Neteja</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Si us plau, llicencia el %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Aquesta demo ha expirat</translation>
+        <translation>Aquesta demo ha expirat.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>La versió completa permet descarregar vídeos de més de %1 minuts i veure els vídeos sense interrupcions.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Aquesta demo expira en %1 dies.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Comprant la versió completa, també donareu suport al dur treball que he posat en la creació del %1.</translation>
+        <translation>Comprant la versió completa, també donarà suport al dur treball que he posat en la creació del %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Utilitza la demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Aconsegueix la versió completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Neteja</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>segons</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuts</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restant</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descarregat en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Descàrrega completada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <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="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Canvia la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Escull la ubicació de les baixades</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Ubicació de baixades canviada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Baixant a: %1</translation>
     </message>
         <translation>Baixades</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>S&apos;està cercant...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostra %1 Més</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Cap vídeo</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Cap més vídeo</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Atura</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Salta al vídeo següent</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Passa a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mou &amp;amunt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mou a&amp;vall</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Surt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Adéu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Pàgina &amp;web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 a la xarxa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Quant a</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Info sobre %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Silencia el volum</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Baixades</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Baixa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Baixa el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Correu electrònic</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>Manté a &amp;sobre</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <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="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informa d&apos;un problema...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Afina la Cerca...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicació</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Vista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>A&amp;juda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Obrint %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Tanca i cancel·la la baixada</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Espera a acabar la baixada</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Abandona la Pantalla &amp;Completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versió %2 ja està disponible.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Recorda-m&apos;ho més tard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Per obtenir la versió actualitzada, descarregueu el %1 de nou des de l&apos;enllaç que vau rebre per correu electrònic i torneu-lo a instal·lar.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualitza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Torna a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compacte</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Obre la pàgina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia l&apos;&amp;enllaç de YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <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="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Troba &amp;parts de vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Neteja les búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Fer una &amp;donació</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Reprodueix vídeos &amp;manualment</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Comença a reproduir vídeos manualment</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Reprodueix</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Continua la reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volum al %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>El volum està silenciat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>El volum no està silenciat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>La vostra privacitat ara és segura</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Baixades completes</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Enviat des de %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Baixant %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Error de xarxa: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 visualitzacions</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Preparant</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Fallit</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Completat</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Aturat</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Atura la baixada</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Mostra en %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Obre el directori superior</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Recomença la baixada</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Buscant...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Cap vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Cap més vídeo</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Rellevància</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Nombre de vistes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Qualificació</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Qualsevol data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Avui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duració</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Tot</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Curt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Mig</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Llarg</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Menys de 4 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 i 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Més de 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Qualitat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta Definició</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p o major</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Fet</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Aconsegueix la versió completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una paraula</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>per comencar a veure vídeos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Veure</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canals recents</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Poseu-vos còmodes</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Enrere</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Afina la Cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Volieu dir: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de xarxa: %1 per %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index e5940e20bc7c4b222cf007952f4b18c7e4aa3d0e..9ab70c11a4bef43b04421968e7dee7bf4a99aa76 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versió %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 és Software Lliure però el seu desenvolupament pren un temps molt valuós.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Si us plau &lt;a href=&apos;%1&apos;&gt;doneu&lt;/a&gt; per ajudar al desenvolupament continuat del %2.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Potser també voldreu provar les meves altres aplicacions:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de música del YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduïu el %1 al vostre idioma natal a través de %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icona dissenyada per %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Llançat 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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Quant a</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Neteja</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Siusplau llicencia el %1</translation>
+        <translation>Si us plau, llicencia el %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Aquesta demo ha expirat.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>La versió completa permet baixar vídeos de més de %1 minuts i veure vídeos sense interrupcions.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Aquesta demo caduca en %1 dies.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Comprant la versió completa, també donareu suport al dur treball que he posat en la creació del %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Utilitzeu la demo</translation>
+        <translation>Utilitza la demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Aconseguiu la versió completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Neteja</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>segons</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuts</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restant</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descarregat en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Descàrrega finalitzada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Baixada</numerusform><numerusform>%n Baixades</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Canvieu la ubicació...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Esculliu la ubicació de les baixades</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Ubicació de baixades canviada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>S&apos;està baixant a: %1</translation>
     </message>
         <translation>Baixades</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>S&apos;està cercant...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Busca</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostra %1 més</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Cap vídeo</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Cap més vídeo</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Atura</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Salta al vídeo següent</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausa la reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Passa a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mou &amp;amunt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mou amunt en la llista de reproducció els vídeos seleccionats</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mou a&amp;vall</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mou avall en la llista de reproducció els vídeos seleccionats</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Neteja l&apos;historial de cerques. No es pot desfer.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Surt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Adéu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Pàgina &amp;web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 en la web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Si us plau recolzeu el desenvolupament continuat del %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Quant a</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informació sobre el %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Silencia el volum</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Baixades</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Baixa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Baixa el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Correu electrònic</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Tanca</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>Manté a &amp;sobre</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <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="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informa d&apos;un problema</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Afina la Cerca...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicació</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Llista de reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Vista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>A&amp;juda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>S&apos;està obrint %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Voleu abandonar el %1 amb una baixada en curs?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si tanqueu el %1 ara, aquesta baixada es cancel·larà.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Tanca i cancel·la la baixada</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Espera a acabar la baixada</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Abandona la Pantalla &amp;Completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versió %2 ja està disponible.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Recorda-m&apos;ho més tard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Per obtenir la versió actualitzada, descarregueu el %1 de nou des de l&apos;enllaç que vau rebre per correu electrònic i torneu-lo a instal·lar.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualitza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Torna a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compacte</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Obre la pàgina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia l&apos;&amp;enllaç de YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <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="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Troba &amp;parts de vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Neteja les búsquedes recents</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Fer una &amp;donació</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Reprodueix vídeos &amp;manualment</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Comença a reproduir vídeos manualment</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Reprodueix</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Continua la reproducció</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volum al %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Volum desactivat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Volum activat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>La vostra privacitat està protegida</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Baixades completes</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ja podeu enganxar l&apos;enllaç del YouTube en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ja podeu enganxar el URL del flux de vídeo en una altra aplicació</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Li permet probar l&apos;aplicació i veure si li va bé.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Enviat des de %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>S&apos;està baixant %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Error de xarxa: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 visualitzacions</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Preparant</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Fallit</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Completat</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Aturat</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Atura la baixada</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Mostra en %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Obre el directori superior</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Reinicia la baixada</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Buscant...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Cap vídeo</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Ordena per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Rellevància</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Nombre de vistes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Qualificació</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Qualsevol data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Avui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Durada</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Tot</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Curt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Mig</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Llarg</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>menys de 4 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>entre 4 i 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>més de 20 minuts</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Qualitat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta definició</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p o major</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Fet</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Benvingut al &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Aconseguiu la versió completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Introduïu</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una paraula</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>per comencar a veure vídeos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Veure</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Cerques recents</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canals recents</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Poseu-vos còmode</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Enrere</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Afina la Cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Volieu dir: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de xarxa: %1 per %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/cs_CZ.ts b/locale/cs_CZ.ts
new file mode 100644 (file)
index 0000000..edaa37c
--- /dev/null
@@ -0,0 +1,1476 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="cs_CZ" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="32"/>
+        <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="33"/>
+        <source>Version %1</source>
+        <translation>Verze %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licence k: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
+        <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="43"/>
+        <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="47"/>
+        <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="50"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, přehrávač hudby z YouTube</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="54"/>
+        <source>%1, a music player</source>
+        <translation>%1, hudební přehrávač</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="60"/>
+        <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="65"/>
+        <source>Icon designed by %1.</source>
+        <translation>Autor ikony: %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="69"/>
+        <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="84"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Zavřít</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="17"/>
+        <source>About</source>
+        <translation>O aplikaci</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="19"/>
+        <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>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Vložte detaily vaší licence</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kód</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Sežeňte si, prosím, licenci %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Platnost demoverze vypršela.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Plná verze umožní stáhnout videa delší než %1 minut a sledovat videa bez přerušení.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Bez licence žádost vyprší za %1 dnů</translation>
+    </message>
+    <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>Zakoupením plné verze také podpoříte práci, která byla vložená do tvorby %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Použít demoverzi</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Vložit licenci</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Koupit licenci</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Odstranit vše</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="322"/>
+        <source>bytes</source>
+        <translation>bajtů</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="325"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="328"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="337"/>
+        <source>bytes/sec</source>
+        <translation>bajtů/sec</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="340"/>
+        <source>KB/sec</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="343"/>
+        <source>MB/sec</source>
+        <translation>MB/se</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="349"/>
+        <source>seconds</source>
+        <translation>sekund</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="352"/>
+        <source>minutes</source>
+        <translation>minut</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="355"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 zbývá</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="55"/>
+        <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="57"/>
+        <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="63"/>
+        <source>Continue</source>
+        <translation>Pokračovat</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="64"/>
+        <source>Get the full version</source>
+        <translation>Získat plnou verzi</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="150"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 staženo v %2</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="153"/>
+        <source>Download finished</source>
+        <translation>Stahování dokončeno</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="159"/>
+        <source>%n Download(s)</source>
+        <translation><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform><numerusform>%n stahování</numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="15"/>
+        <source>Change location...</source>
+        <translation>Změnit složku pro stahování...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="47"/>
+        <source>Choose the download location</source>
+        <translation>Vyberte složku, do které se bude stahovat</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="59"/>
+        <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="61"/>
+        <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="72"/>
+        <source>Downloading to: %1</source>
+        <translation>Stahováno do: %1</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>Stahování</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Stahování aktualizace...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <source>Play</source>
+        <translation>Přehrát</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <source>Pause</source>
+        <translation>Pozastavit</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <source>Play/Pause</source>
+        <translation>Pustit/Pozastavit</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <source>Stop</source>
+        <translation>Zastavit</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <source>Stop playing after current track</source>
+        <translation>Zastavit přehrávání po dokončení nyní přehrávaného videa</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <source>Next track</source>
+        <translation>Další video</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <source>Previous track</source>
+        <translation>Předchozí video</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <source>Increase volume</source>
+        <translation>Zvýšit hlasitost</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <source>Decrease volume</source>
+        <translation>Snížit hlasitost</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <source>Mute</source>
+        <translation>Ztlumit hlasitost</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <source>Seek forward</source>
+        <translation>Rychle vpřed</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <source>Seek backward</source>
+        <translation>Rychle vzad</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Hledat</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Najít videa a kanály podle klíčového slova</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Prohlížet</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Prohlížet videa podle kategorie</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Udělejte si pohodlí</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="90"/>
+        <source>Error</source>
+        <translation>Chyba</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="213"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Stop</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="214"/>
+        <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="232"/>
+        <source>S&amp;kip</source>
+        <translation>Př&amp;eskočit</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="233"/>
+        <source>Skip to the next video</source>
+        <translation>Přeskočí na další video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Pauza</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
+        <source>Pause playback</source>
+        <translation>Pozastaví přehrávání</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="246"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Celá obrazovka</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="247"/>
+        <source>Go full screen</source>
+        <translation>Přepne na celou obrazovku</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="263"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Skryje playlist a toolbar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="276"/>
+        <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="283"/>
+        <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="290"/>
+        <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="297"/>
+        <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="303"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Odstranit</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="304"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Odstraní vybraná videa z playlistu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="310"/>
+        <source>Move &amp;Up</source>
+        <translation>&amp;Nahoru</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="311"/>
+        <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="317"/>
+        <source>Move &amp;Down</source>
+        <translation>&amp;Dolů</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <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="329"/>
+        <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="334"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Zavřít</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="337"/>
+        <source>Bye</source>
+        <translation>Sbohem</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="341"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Homepage</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="343"/>
+        <source>%1 on the Web</source>
+        <translation>%1 na Webu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="349"/>
+        <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="354"/>
+        <source>&amp;About</source>
+        <translation>&amp;O aplikaci</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="356"/>
+        <source>Info about %1</source>
+        <translation>Info o aplikaci %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="364"/>
+        <source>Search</source>
+        <translation>Hledat</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="383"/>
+        <source>Mute volume</source>
+        <translation>Ztlumit</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Stahování</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="413"/>
+        <source>Show details about video downloads</source>
+        <translation>Zobrazit podrobnosti o stahování videí</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="421"/>
+        <source>&amp;Download</source>
+        <translation>&amp;Stáhnout</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="422"/>
+        <source>Download the current video</source>
+        <translation>Stáhnout přávě zobrazené video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="441"/>
+        <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="458"/>
+        <source>&amp;Email</source>
+        <translation>&amp;Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="459"/>
+        <source>Email</source>
+        <translation>Email</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="463"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Zavřít</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="473"/>
+        <source>&amp;Float on Top</source>
+        <translation>&amp;Plovoucí navrchu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="478"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>&amp;Zastavit po tomto videu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="485"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>&amp;Nahlásit chybu...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="489"/>
+        <source>&amp;Refine Search...</source>
+        <translation>&amp;Upřesnit vyhledávání...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Více...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>&amp;Související videa</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Aplikace</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Buy %1...</source>
+        <translation>Koupit %1...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Přehrávání</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="572"/>
+        <source>&amp;Playlist</source>
+        <translation>&amp;Playlist</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="581"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Video</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="594"/>
+        <source>&amp;View</source>
+        <translation>&amp;Pohled</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="601"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Sdílet</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="615"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Nápověda</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="690"/>
+        <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="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
+        <source>Opening %1</source>
+        <translation>Otevírám %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <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="937"/>
+        <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="942"/>
+        <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="943"/>
+        <source>Wait for download to finish</source>
+        <translation>Počkat na dokončení stahování</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1102"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>Opustit zobrazení na &amp;celou obrazovku</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1475"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 verze %2 je nyní dostupná.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1479"/>
+        <source>Remind me later</source>
+        <translation>Připomenout později</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1480"/>
+        <source>Update</source>
+        <translation>Aktualizovat</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>Error: %1</source>
+        <translation>Chyba: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="222"/>
+        <source>P&amp;revious</source>
+        <translation>P&amp;ředešlý</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="223"/>
+        <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="262"/>
+        <source>&amp;Compact Mode</source>
+        <translation>&amp;Kompaktní mód</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="275"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>Otevřít stránku &amp;YouTube </translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="282"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>Kopírovat YouTube &amp;odkaz</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="289"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Zkopírovat adresu &amp;video streamu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="296"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Nalézt video &amp;části</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="324"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>&amp;Vymazat poslední hledání</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="348"/>
+        <source>Make a &amp;Donation</source>
+        <translation>&amp;Podpořit</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="405"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>&amp;Ručně zahájit přehrávání</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="406"/>
+        <source>Manually start playing videos</source>
+        <translation>Ručně zahájit přehrávání videí</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Vyberte si umístění obsahu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Play</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1003"/>
+        <source>Resume playback</source>
+        <translation>Pokračovat v přehrávání</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1236"/>
+        <source>Remaining time: %1</source>
+        <translation>Zbývající čas: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1294"/>
+        <source>Volume at %1%</source>
+        <translation>Hlasitost na %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1300"/>
+        <source>Volume is muted</source>
+        <translation>Zvuk je ztlumen</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1303"/>
+        <source>Volume is unmuted</source>
+        <translation>Zvuk je zapnut</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1310"/>
+        <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="1351"/>
+        <source>Your privacy is now safe</source>
+        <translation>Vaše soukromí je nyní v bezpečí</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Downloads complete</source>
+        <translation>Všechna stahování byla dokončena</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="553"/>
+        <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="561"/>
+        <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="562"/>
+        <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="636"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Toto je %1 -- demoverze.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="637"/>
+        <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="667"/>
+        <source>Continue</source>
+        <translation>Pokračovat</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="756"/>
+        <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="768"/>
+        <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="770"/>
+        <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="847"/>
+        <source>Sent from %1</source>
+        <translation>Zaslat z %1</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="644"/>
+        <source>Get the full version</source>
+        <translation>Stáhnout plnou verzi</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="681"/>
+        <source>Downloading %1</source>
+        <translation>Je stahováno %1</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Nová verze %1 je k dispozici!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 je nyní k dispozici. Vy máte %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Chcete ji nyní stáhnout?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Přeskočit tuto verzi</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Připomenout později</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Nainstalovat aktualizaci</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Vložit</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <source>%1 views</source>
+        <translation>%1 zobrazení</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1 z %2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <source>Preparing</source>
+        <translation>Připravuje se</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <source>Failed</source>
+        <translation>Selhalo</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <source>Completed</source>
+        <translation>Dokončeno</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <source>Stopped</source>
+        <translation>Zastaveno</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <source>Stop downloading</source>
+        <translation>Zastavit stahování</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <source>Show in %1</source>
+        <translation>Ukázat v %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <source>Open parent folder</source>
+        <translation>Otevřít příslušný adresář</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <source>Restart downloading</source>
+        <translation>Začít stahovat znova</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Hledá se...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Zobrazit dalších %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Žádná videa</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Žádná další videa</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <source>Sort by</source>
+        <translation>Třídit podle</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <source>Relevance</source>
+        <translation>Významu</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <source>Date</source>
+        <translation>Data</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <source>View Count</source>
+        <translation>Počtu shlédnutí</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <source>Rating</source>
+        <translation>Hodnocení</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <source>Anytime</source>
+        <translation>Kdykoliv</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>Today</source>
+        <translation>Dnes</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>7 Days</source>
+        <translation>7 dní</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <source>30 Days</source>
+        <translation>30 dnů</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <source>Duration</source>
+        <translation>Délka</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>All</source>
+        <translation>Vše</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>Short</source>
+        <translation>Krátký</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>Medium</source>
+        <translation>Střední</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <source>Long</source>
+        <translation>Dlouhý</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <source>Less than 4 minutes</source>
+        <translation>Méně než 4 minuty</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>Mezi 4 a 20minutami</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <source>Longer than 20 minutes</source>
+        <translation>Delší než 20 minut</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Quality</source>
+        <translation>Kvalita</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>High Definition</source>
+        <translation>Vysoké rozlišení</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <source>720p or higher</source>
+        <translation>720p nebo vyšší</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Hotovo</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>Hotovo</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Hledat</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="71"/>
+        <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="50"/>
+        <source>Get the full version</source>
+        <translation>Získat plnou verzi</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="85"/>
+        <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>Enter</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="90"/>
+        <source>a keyword</source>
+        <translation>klíčové slovo</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="91"/>
+        <source>a channel</source>
+        <translation>kanál</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="96"/>
+        <source>to start watching videos.</source>
+        <translation>začít sledovat videa.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="120"/>
+        <source>Watch</source>
+        <translation>Sledovat</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="138"/>
+        <source>Recent keywords</source>
+        <translation>Poslední klíčová slova</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="151"/>
+        <source>Recent channels</source>
+        <translation>Poslední kanály</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Zpět</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Předat k %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Zpět k %1</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <source>Refine Search</source>
+        <translation>Upřesnit vyhledávání</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <source>Did you mean: %1</source>
+        <translation>Měli jste na mysli: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Nejoblíbenější</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Nejlepší</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Nejsdílenější</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Nejdiskutovanější</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Nejlépe hodnocené</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="213"/>
+        <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="231"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Chyba přípojení: %1 pro %2</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Alžírsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Austrálie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brazílie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Kanada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Kolumbie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Česká republika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egypt</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Francie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Německo</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Řecko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Maďarsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>Indie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonesie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Irsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Izrael</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Itálie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japonsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Jordánsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Keňa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malajsie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Mexico</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Maroko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Nizozemí</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Nový Zéland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Niger</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filipíny</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rusko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Saudská Arabie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Jižní Afrika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Severní Korea</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Španělsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Švédsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunisko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Turecko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Spojené arabské emiráty</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Velká Británie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Jemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Celosvětově</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index f40af583a2d5fd6b776007f774938c94acdd0e53..28cbf6dd8232b12f949815559e268ec615177c6d 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Der findes liv udenfor browseren!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licenseret til: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, en YouTube-musikafspiller</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, en musikafspiller</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon designet af %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Luk</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Om</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Fjern</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Indtast dine licensoplysninger</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kode:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Venligst licens %1</translation>
+        <translation>Venligst licensér %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Denne demo er udløbet.</translation>
+        <translation>Denne prøveversion er udløbet.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Den fulde version giver dig mulighed for at downloade videoer længere end %1 minutter og for at se videoer uden afbrydelser.</translation>
+        <translation>Den fulde version giver dig mulighed for at se videoer længere end %1 minutter og se videoer uden afbrydelser.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Denne demo vil udløbe om %1 dage.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Dette program vil udløbe om %1 dage uden en licens.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Ved at købe den fulde version, vil du også støtte det hårde arbejde, jeg sætter i at udvikle %1.</translation>
+        <translation>Ved at købe den fulde version, støtter du også støtte det hårde arbejde jeg lagt i at udvikle %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Benyt demo</translation>
+        <translation>Brug prøveversion</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Hent den fulde version</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Indtast licens</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Køb licens</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Fjern</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekunder</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutter</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 mangler</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Forsæt</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 downloaded på %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Download afsluttet</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download(s)</numerusform><numerusform>%n Download(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Skift placering...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Vælg placering til downloads</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Downloadplacering ændret.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Downloader til: %1</translation>
     </message>
         <translation>Downloads</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Henter opdatering...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Søger...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Søg</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Vis %1 Mere</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Find videoer og kanaler via søgeord</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Ingen videoer</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Gennemse</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Ikke flere videoer</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Gennemse videoer efter kategori</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Sæt dig godt til rette</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>S&amp;pring over</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Spring til næste video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pause afspilning</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Fuldskærm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Vis i fuldskærm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skjul afspilningslisten og værktøjslinjen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Fjern</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Flyt &amp;Op</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Flyt &amp;Ned</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Afslut</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Farvel</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Hjemmeside</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 på nettet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Om</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Info om %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Søg</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Slå lyden fra</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Vis deltaljer om video downloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Download den aktuelle video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;amp; E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Luk</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Behold øverst</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stop efter denne video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporter et problem...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Indskrænk søgning...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Mere...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>&amp;Relaterede videoer</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Program</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Køb %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Afspil</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Afspilningsliste</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Vis</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Del</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Hjælp</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Åbner %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Luk og annuller download </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Vent til download er færdig</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Forlad &amp;Fuld skærm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Påmind mig senere</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>For at få den opdaterede version, kan du downloade %1 igen fra det link du har modtaget via e-mail og geninstallere.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Opdatér</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Fejl: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>F&amp;orrige</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Gå tilbage til forrige nummer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Åbn &amp;Youtube-siden</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopier &amp;link til Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <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="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Find dele af videoen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Ryd seneste søgninger</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Giv en &amp;Donation</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Start afspilning &amp;manuelt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Start afspilning af videoer manuelt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Vælg placering for dit indhold</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Afspil</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Genoptag afspilning</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tilbageværende tid: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Lydniveau på %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Lyden er slået fra</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Lyden er slået til</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimal videoopløsning sat til %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Dit privatliv er nu sikret</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Downloads færdig</translation>
     </message>
@@ -747,240 +803,304 @@ Kopiér &amp;URL&apos;en til videostrømmen</translation>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Forsæt</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Sendt fra %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Downloader %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>En ny version af %1 er tilgængelig!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 er tilgængelig. Du har %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Ønsker du at hente den nu?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Spring denne version over</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Påmind mig senere</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Installér opdatering</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Netværksfejl %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Indsæt</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 visninger</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 af %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Forbereder</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Fejlede</translation>
+        <translation>Fejl</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Fuldført</translation>
+        <translation>Fuldendt</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Afbrudt</translation>
+        <translation>Stoppet</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Afbryd download</translation>
+        <translation>Stop download</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Vis i %1</translation>
+        <translation>VIs i %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Åbn overordnet mappe</translation>
+        <translation>Åben ovenstående mappe</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Genstart download</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Søger...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Vis %1 mere</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Ingen videoer</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Ikke flere videoer</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sorter efter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevans</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Dato</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Antal visninger</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Bedømmelse</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Når som helst</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>I dag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Varighed</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Medium</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Mindre end 4 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Mellem 4 og 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Længere end 20 minutter</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Kvalitet</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>High Definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p eller højere</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Afsluttet</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>Afslut</translation>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
@@ -992,81 +1112,366 @@ 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="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Hent den fulde version</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>et nøgleord</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>en kanal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>for at  begynde at se video.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Afspil</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Seneste nøgleord</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Nyeste kanaler</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Sæt dig godt til rette</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Tilbage</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Frem til %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Tilbage til %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Indskrænk søgning</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Mente du: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Mest populære</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Udvalgte</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Mest delte</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Mest diskuterede</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Bedst bedømte</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Netværksfejl: %1 for %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Algeriet</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Austalien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brasilien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Canada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Tjekkiet</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egypten</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Frankrig</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Tyskland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Grækenland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Ungarn</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>Indien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonesien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Irland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Italien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Jordan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malaysia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Mexico</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Marokko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Nederlandende</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>New Zealand</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Philipinierne</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rusland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Saudi-Arabien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapore</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Sydfrika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Sydkorea</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Spanien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Sverige</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunisien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Tyrkiet</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Forenede Arabiske Emirater</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Storbritanien</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Yemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Hele verden</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index d81b3fc9390441e5d51b2a548de44dc1af26a277..c59912a0ebcf6edec7aad79d82484df0dde5542f 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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;spende&lt;/a&gt;, um die ständige Entwicklung von %2 zu unterstützen.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ein YouTube-Musik-Player</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, ein Musik-Player</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Symbol-Entwurf durch %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>S&amp;chließen</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Was Du schon immer über %1 wissen wolltest, aber nie zu fragen wagtest</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Säubern</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Bitte lizenzieren Sie %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Diese Demo ist abgelaufen.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Die Vollversion erlaubt es Ihnen Videos länger als %1 Minuten herunterzuladen und Videos ohne Unterbrechungen zu sehen.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Diese Demo wird in %1 Tagen ablaufen.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Mit dem Kauf der Vollversion unterstützen Sie auch die harte Arbeit, die ich in die Erstellung von %1 gesteckt habe.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Demo verwenden</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Holen Sie sich die Vollversion</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Säubern</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>Bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>kB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>Bytes/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>kB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>Sekunden</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>Minuten</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 verbleibend</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Sie kann nur Videos, die kürzer als %1 Minuten sind, herunterladen, damit die Download-Funktionalität getestet werden kann.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Fortfahren</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Die Vollversion holen</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%1 heruntergeladen nach %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
-        <translation type="unfinished"/>
+        <translation>Herunterladen abgeschlossen</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Speicherort ändern…</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Wähle den Speicherort</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Speicherort wurde verändert.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Aktuelle Downloads werden immernoch im alten Speicherort gespeichert.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Lade herunter nach: %1</translation>
     </message>
         <translation>Downloads</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Suche...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Suche</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Weitere %1 zeigen</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Keine Videos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Keine weiteren Videos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Halt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>Ü&amp;berspringen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Zum nächsten Video springen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Wiedergabe pausieren</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Vollbildmodus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Vollbildmodus aktivieren</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Verstecke Abspielliste und Werkzeugleiste</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Video-URL in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>Entfe&amp;rnen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Bewege &amp;hinauf</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Bewege hin&amp;ab</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Such-Verlauf leeren. Kann nicht rückgängig gemacht werden.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Verlassen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Tschüss</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Webseite</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 im Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Über</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informationen über %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Suche</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Stummschalten</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Details über Video-Downloads anzeigen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>H&amp;erunterladen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Das aktuelle Video herunterladen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-Mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-Mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Schließen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>Im Vordergrund &amp;bleiben</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>Nach diesem Video &amp;anhalten</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Ein Problem melden ...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
+        <translation>&amp;Suche verfeinern ...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Anwendung</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>%1 kaufen...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>A&amp;bspielliste</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Ansehen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Teilen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Hilfe</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>%1 öffnen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Beenden und Download abbrechen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Auf Abschluß des Downloads warten</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Vollbild verlassen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Erinnere mich später</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Für die aktualisierte Version, laden Sie bitte %1 ,mit Hilfe des Links den Sie erhalten per E-Mail erhalten haben, runter und installieren Sie es erneut.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Aktualisierung</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Fehler: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>V&amp;origes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Zum vorherigen Titel zurückgehen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompakt-Modus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube-Seite öffnen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;Link kopieren</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Video-Stream &amp;URL kopieren</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Suche Video &amp;Teile</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Vorherige Suchbegriffe löschen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Spenden</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuelles Starten der Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Manuelles Starten der Video-Wiedergabe</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Abspielen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Wiedergabe fortsetzen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Verbleibende Zeit: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Lautstärke %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Ton ist stummgeschaltet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Ton ist angeschaltet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximale Video-Auflösung wurde auf %1 gesetzt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Ihre Privatsphäre ist nun geschützt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Downloads heruntergeladen</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Du kannst den YouTube-Link nun in einer anderen Anwendung einfügen</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Du kannst die Video-URL nun in einer anderen Anwendung einfügen</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Dies ist nur eine Demoversion von %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Sie erlaubt Ihnen die Anwendung zu testen und zu schauen ob sie bei Ihnen läuft.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Fortfahren</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Gesendet von %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Die Vollversion holen</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>%1 herunterladen</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Netzwerk-Fehler: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 mal betrachtet</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 von %2 (%3) – %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Bereite vor</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Fertiggestellt</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Gestoppt</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Herunterladen stoppen</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>In %1 anzeigen</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>Eltern-Ordner öffnen</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Herunterladen neustarten</translation>
     </message>
 </context>
 <context>
-    <name>RefineSearchWidget</name>
+    <name>PlaylistModel</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Suche...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Keine Videos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Keine weiteren Videos</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
     <message>
         <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <source>Sort by</source>
+        <translation>Sortieren nach</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
-        <translation type="unfinished"/>
+        <translation>Relevanz</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
-        <translation type="unfinished"/>
+        <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
-        <translation type="unfinished"/>
+        <translation>Anzahl anzeigen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
-        <translation type="unfinished"/>
+        <translation>Bewertung</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
-        <translation type="unfinished"/>
+        <translation>Alle Längen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
-        <translation type="unfinished"/>
+        <translation>Heute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
-        <translation type="unfinished"/>
+        <translation>7 Tage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
-        <translation type="unfinished"/>
+        <translation>30 Tage</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
-        <translation type="unfinished"/>
+        <translation>Dauer</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
-        <translation type="unfinished"/>
+        <translation>Alle</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
-        <translation type="unfinished"/>
+        <translation>Kurz</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
-        <translation type="unfinished"/>
+        <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
-        <translation type="unfinished"/>
+        <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Weniger als 4 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Zwischen 4 und 20 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Länger als 20 Minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
-        <translation type="unfinished"/>
+        <translation>Qualität</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
-        <translation type="unfinished"/>
+        <translation>High Definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
-        <translation type="unfinished"/>
+        <translation>720p oder höher</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Erledigt</translation>
     </message>
+</context>
+<context>
+    <name>RegionsView</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Die Vollversion holen</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>ein Schlüsselwort</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>ein Kanal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>um die Wiedergabe zu starten.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Anschauen</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Aktuelle Schlüsselwörter</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Aktuelle Kanäle</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Machen Sie es sich gemütlich</translation>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
-        <translation type="unfinished"/>
+        <translation>Suche verfeinern</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
+        <translation>Haben Sie gemeint: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostream für %1 konnte nicht öffnen werden</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Netzwerk-Fehler: %1 für %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 3b01b4d0bc4a8c53b62eef0e720a946d7e5fe27b..5c730f8c47dfc578b1116745980e6b05a873b899 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Υπάρχει ζωή έξω απο τον πλοηγό!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Έκδοση %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Αδειοδοτημένο στον/ην: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>Το %1 είναι Ελεύθερο Λογισμικό αλλά η ανάπτυξη του παίρνει πολύτιμο χρόνο.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Μπορεί να θέλετε να δοκιμάσετε και τις άλλες μου εφαρμογές:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, ένας αναπαραγωγέας μουσικής του YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, ένας αναπαραγωγέας μουσικής</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Μεταφράστε το %1 στη γλώσσα σας χρησιμοποιώντας το %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Σχεδιασμός εικονιδίου από %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Κλείσιμο</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Σχετικά</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Ότι θέλατε να μάθετε σχετικά με το %1 και δεν τολμούσατε να ρωτήσετε</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Καθαρισμός</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Εισάγετε τις λεπτομέρειες της άδειας χρήσης</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Κωδικός:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Παρακαλώ αποκτήστε την άδεια χρήσης του %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Αυτή η δοκιμαστική έκδοση έληξε.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Η πλήρης έκδοση σας επιτρέπει την λήψη βίντεο με διάρκεια μεγαλύτερη από %1 λεπτά και την αναπαραγωγή των βίντεο χωρίς διακοπές.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Î\91Ï\85Ï\84ή Î· Î´Î¿ÎºÎ¹Î¼Î±Ï\83Ï\84ική Î­ÎºÎ´Î¿Ï\83η Î¸Î± Î»Î®Î¾ÎµÎ¹ Ï\83ε %1 Î·Î¼Î­Ï\81εÏ\82.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>ΧÏ\89Ï\81ίÏ\82 Ï\84ην Î¬Î´ÎµÎ¹Î± Ï\87Ï\81ήÏ\83ηÏ\82, Î· ÎµÏ\86αÏ\81μογή Î¸Î± Î»Î®Î¾Î· Ï\83ε %1 Î¼Î­Ï\81εÏ\82</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Αγοράζοντας την πλήρη έκδοση, υποστηρίζετε επίσης την σκληρή δουλειά που έχω κάνει για τη δημιουργία του %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Χρήση της δοκιμαστικής έκδοσης</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Αποκτήστε την πλήρη έκδοση</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Εισαγωγή άδειας χρήσης</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Αγορά άδειας χρήσης</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Καθαρισμός</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/δευτ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/δευτ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/δευτ</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>δευτερόλεπτα</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>λεπτά</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>απομένουν %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>Αυτή είναι απλά η δοκιμαστική έκδοση του %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Συνέχεια</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 λήφθηκε σε %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Η λήψη ολοκληρώθηκε</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Λήψη</numerusform><numerusform>%n Λήψεις</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Αλλάξτε τοποθεσία...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Επιλέξτε την τοποθεσία λήψης</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Η τοποθεσία λήψης άλλαξε.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Τα ήδη ληφθέντα θα παραμείνουν στην προηγούμενη τοποθεσία.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Λήψη στο: %1</translation>
     </message>
         <translation>Λήψεις</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Μεταφόρτωση ενημερώσεων...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Αναζήτηση...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Εμφάνιση %1 ακόμα</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Κανένα βίντεο</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Δεν υπάρχουν άλλα βίντεο</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Βολευτείτε</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Διακοπή</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Διακοπή αναπαραγωγής και επιστροφή στην προβολή αναζήτησης</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Παράλειψη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Μετάβαση στο επόμενο βίντεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Παύση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Παύση αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Πλήρης οθόνη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Προβολή σε πλήρη οθόνη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Απόκρυψη της λίστας αναπαραγωγής και της εργαλειοθήκης</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Μετάβαση στη σελίδα βίντεο του YouTube και παύση αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Αντιγραφή του δεσμού του τρέχοντος YouTube βίντεο στη μνήμη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Αντιγραφή του URL της τρέχουσας ροής βίντεο στη μνήμη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Εύρεση των υπόλοιπων επισοδείων του βίντεο, ελπίζουμε στη σωστή σειρά</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Αφαίρεση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Αφαίρεση επιλεγμένων βίντεο απο την λίστα αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Μετακίνηση προς τα &amp;πάνω</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Μετακίνηση επιλεγμένων βίντεο προς τα πάνω</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Μετακίνηση προς τα &amp;κάτω</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Μετακίνηση επιλεγμένων βίντεο προς τα κάτω</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Καθαρισμός του ιστορικού αναζήτησης. Δεν μπορεί να γίνει επαναφορά.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>Έ&amp;ξοδος</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Γεια</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Ιστοχώρος</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>Το %1 στο διαδίκτυο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Παρακαλούμε υποστηρίξτε την συνεχόμενη ανάπτυξη του %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Σχετικά</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Πληροφορίες για %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Σίγαση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Λήψεις</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Εμφάνιση λεπτομερειών για τις λήψεις βίντεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Λήψη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Λήψη του τρέχοντος βίντεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Κοινή χρήση του τρέχοντος βίντεο με το %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Ηλ. αλληλογραφία</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Ηλ. αλληλογραφία</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Κλείσιμο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Διατήρηση στην κορυφή</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Διακοπή μετά από αυτό το βίντεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Αναφέρετε κάποιο σφάλμα...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Σύνθετη αναζήτηση...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Αγοράστε το %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Αναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>Λ&amp;ίστα αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>Βίν&amp;τεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Προβολή</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Κοινή χρήση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Βοήθεια</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Πατήστε %1 για να αυξήσετε την ένταση, %2 για να την χαμηλώσετε</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Άνοιγμα %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Θέλετε να κλείσετε το %1 ενώ βρίσκεται μια λήψη σε εξέλιξη;</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Αν κλείσετε το %1 τώρα, η λήψη θα ακυρωθεί.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Κλείσιμο και ακύρωση λήψης</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Αναμονή ολοκλήρωσης λήψης</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Έξοδος από &amp;πλήρη οθόνη</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>Η έκδοση %2 του %1 είναι διαθέσιμη.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Υπενθύμιση αργότερα</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Για να πραγματοποιήσετε τη λήψη της ενημερωμένης έκδοσης κάντε τη λήψη του %1 ξανά από τον δεσμό που λάβατε στην αλληλογραφία σας και κάντε επανεγκατάσταση.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Ενημέρωση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Σφάλμα: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>Π&amp;ροηγούμενο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Επιστροφή στο προηγούμενο κομμάτι</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Συμπαγής εμφάνιση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Άνοιγμα στην ιστοσελίδα του &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Αντιγραφή του &amp;δεσμού YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Αντιγραφή του &amp;URL της ροής βίντεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Αναζήτηση των &amp;επισοδείων του βίντεο</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Καθαρισμός πρόσφατων αναζητήσεων</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Κάντε μια &amp;δωρεά</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Εκκίνηση της αναπαραγωγής &amp;χειροκίνητα</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Εκκίνηση αναπαραγωγής των βίντεο χειροκίνητα</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>Α&amp;ναπαραγωγή</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Συνέχεια αναπαραγωγής</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Υπολειπόμενος χρόνος: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Ένταση στο %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Σίγαση</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Η ένταση αποκαταστάθηκε</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>H μέγιστη ανάλυση βίντεο τέθηκε σε %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Η ιδιωτικότητα σας είναι τώρα ασφαλής</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Οι λήψεις ολοκληρώθηκαν</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Τώρα μπορείτε να επικολλήσετε το δεσμό του YouTube σε κάποια άλλη εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Τώρα μπορείτε να επικολλήσετε το URL της ροής βίντεο σε κάποια άλλη εφαρμογή</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Ο σύνδεμος θα είναι έγκυρος μόνο για περιορισμένο χρονικό διάστημα.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Αυτή είναι απλά μια δοκιμαστική έκδοση του %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Συνέχεια</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>από</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Αποστολή από %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Λήψη %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Μια νέα έκδοση του %1 είναι διαθέσιμη!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>Η %1 %2 είναι διαθέσιμη. Έχετε την %3</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Θα θέλατε να την κατεβάσετε τώρα;</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Παράλειψη αυτής της έκδοσης</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Υπενθύμισε το μου αργότερα</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Εγκατάσταση Ενημερώσεων</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>ΣÏ\86άλμα Î´Î¹ÎºÏ\84Ï\8dοÏ\85: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Î\95Ï\80ικÏ\8cλληÏ\83η</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>Προβολές %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 από %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Προετοιμάζεται</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Απέτυχε</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Ολοκληρώθηκε</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Διακόπηκε</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Διακοπή λήψης</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Εμφάνιση σε %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>Άνοιγμα γονικού φακέλου</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Επανεκκίνηση λήψης</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Αναζήτηση...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Εμφάνιση %1 ακόμα</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Κανένα βίντεο</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Δεν υπάρχουν άλλα βίντεο</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Ταξινόμηση κατά ...</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Σχετικότητα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Ημερομηνία</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Αριθμό προβολών</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Βαθμολογία</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Οποτεδήποτε</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Σήμερα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>Εβδομάδα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>Μήνας</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Διάρκεια</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Όλα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Μικρό</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Μέτριο</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Μεγάλο</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Λιγότερο από 4 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Μεταξύ 4 και 20 λεπτών</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Μεγαλύτερο από 20 λεπτά</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Ποιότητα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Υψηλή ανάλυση</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p είτε ψηλότερα</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Έγινε</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Αποκτήστε την πλήρη έκδοση</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>μια λέξη-κλειδί</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>ένα κανάλι</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>για να αρχίσετε να βλέπετε βίντεο.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Δείτε</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Πρόσφατες λέξεις-κλειδιά</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Πρόσφατα κανάλια</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Βολευτείτε</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Πίσω</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Σύνθετη αναζήτηση</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Μήπως εννοείτε: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Αδυναμία λήψης της ροής βίντεο για %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Σφάλμα δικτύου: %1 για %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 87d7306b5d04c71c7583969cf013fd7146eec8cf..8ca682355f893a7cbc0851a72b0a701faf80dc99 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licencia para: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <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="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icono diseñado por %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Lo que siempre quiso saber acerca de %1 y nunca se atrevió a preguntar</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Limpiar</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Introduzca los detalles de la licencia</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>Correo &amp;electrónico:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Código:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Obtenga una licencia de %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Esta versión de prueba ha caducado.</translation>
+        <translation>Esta versión de demostración ha caducado.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>La versión completa le permite descargar vídeos con duración mayor a %1 minutos y ver vídeos sin interrupciones.</translation>
+        <translation>La versión completa le permite descargar vídeos con duración mayor a %1 minutos y ver videos sin interrupciones.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Esta versión de prueba caducará en %1 días.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Sin una licencia, la aplicación caducará en %1 días.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Al comprar la versión completa, también apoya el trabajo realizado en la creación de %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Probar</translation>
+        <translation>Usar demostración</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obtener la versión completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Introducir licencia</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Comprar licencia</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Limpiar</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>Quedan %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargados en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargas</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
-        <translation>Cambiar ubicación...</translation>
+        <translation>Cambiar ubicación</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Elija la ubicación de las descargas</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Ubicación para descargas modificada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Descargando a: %1</translation>
     </message>
         <translation>Descargas</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Descargando la actualización…</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Buscando...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostrar %1 más</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Encontrar vídeos y canales por palabras clave</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>No hay vídeos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Examinar</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>No hay más vídeos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Buscar videos por categoría</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Póngase cómodo</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Omitir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Omitir vídeo y saltar al siguiente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>Pantalla &amp;completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar el enlace a YouTube del vídeo actual en el portapapeles</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Eliminar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>&amp;Subir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Bajar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Hasta luego</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 en la web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Información acerca de %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Silenciar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Descargar el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo-e</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Correo-e</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Flotar en la parte superior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
-        <translation>&amp;Parar después de este vídeo</translation>
+        <translation>&amp;Detener tras este vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Informar de un problema...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar la búsqueda...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Más…</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>Vídeos &amp;relacionados</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
-        <translation>Comprar %1...</translation>
+        <translation>Comprar %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reprod.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>Ay&amp;uda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Esperando a que finalice la descarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Salir de pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Para obtener la versión actualizada, descargue %1 de nuevo desde el enlace que recibió por correo y reinstale.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Regresar a la pista anterior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;compacto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el en&amp;lace de YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar la &amp;URL de flujo del vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar &amp;partes de vídeos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpiar búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Comenzar la reproducción &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Comenzar la reproducción de vídeos manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Elija su ubicación para el contenido</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Continuar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>El volumen está silenciado</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>El volumen no está silenciado</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Su privacidad ahora está asegurada
 </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Descargas completas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Está disponible una versión nueva de %1.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 está disponible ahora. Ud. tiene %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>¿Quiere descargarla ahora?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Omitir esta versión</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Recordarme después</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Instalar actualización</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Error de red: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Pegar</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 visualizaciones</translation>
+        <translation>%1 reproducciones</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Fallidas</translation>
+        <translation>Falló</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Completadas</translation>
+        <translation>Completado</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Detenidas</translation>
+        <translation>Detenido</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Detener la descarga</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Mostrar en %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Abrir carpeta superior</translation>
+        <translation>Abrir carpeta contenedora</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Reiniciar descarga</translation>
+        <translation>Reiniciar la descarga</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Buscando…</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Mostrar %1 más</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>No hay vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>No hay más vídeos</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Número de vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Valoración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Cualquier momento</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Todo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Corto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Medio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayor a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Hecho</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation>Hecho</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>para empezar a ver vídeos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Palabras clave recientes</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Póngase cómodo</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Atrás</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Reenviar a %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Regresar a %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Refinar la búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Quizá quiso decir: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Más populares</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Destacados</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Más compartidos</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Más discutidos</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Mejor valorados</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 por %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Argelia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Bélgica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brasil</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Canadá</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>República Checa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egipto</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Francia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Alemania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Grecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Hungría</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Irlanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Israel</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Italia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japón</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Jordania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malasia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>México</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Marruecos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Holanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Nueva Zelanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Perú</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filipinas</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polonia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rusia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudita</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Sudáfrica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Corea del Sur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>España</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Suecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Taiwán</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Túnez</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Turquía</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Emiratos Árabes Unidos</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Reino Unido</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Yemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Todo el mundo</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 09b5fb4153b7e5ce28050bcf0853c0fc825ea42e..ad1dae2f146fca5066fb7aa8b2fec19940fb3b5e 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es Software Libre pero su desarrollo lleva tiempo.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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;hacé una donación&lt;/a&gt; para apoyar el desarrollo de %2.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Talvez querás probar mis otras aplicaciones como:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <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="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música </translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traducí %1 a tu idioma natal usando %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Iconos diseñados por %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Limpiar</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Por favor autoricé %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Esta prueba ha vencido</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>La versión completa te permite descargar videos mayores a %1 minutos y ver los videos sin interrupciones</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Esta prueba vencerá en %1 días</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Al comprar la versión completa, también apoyas el duro trabajo que he puesto creado %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Usar Prueba</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obtené la versión completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Limpiar</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restante(s)</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Conseguí la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descarga(s)</numerusform><numerusform>%n Descarga(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Cambiar destino...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Elegir el destino de la descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Destino de la descarga cambiado.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Bajando a: %1</translation>
     </message>
         <translation>Descargas</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Buscando...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostrar %1 más</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Sin videos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>No hay más videos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Personalizar</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Detener</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Detener y volver a la búsqueda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Saltar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Siguiente video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Copiar el enlace de YouTube del video al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar la &amp;URL del stream del video al portapapeles</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Encontrá las otras partes del video con suerte en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Borrar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mover hacia &amp;arriba</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mover hacia &amp;abajo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Chau</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Sitio web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 en la Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Apoyar el desarrollo de %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Información sobre %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Mostrar detalles sobre la descarga de videos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Bajar video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Bajar el video actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Compartí el video actual usando %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Correo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Siempre Visible</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Finalizar Después de este Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reportar un inconveniente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Programa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista de reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Con %1 subís el volumen, con %2 lo bajás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Seguro que querés salir de %1 con una descarga en progreso?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Si cerrás %1 ahora, la descarga se va a cancelar.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar descarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Esperar a que termine la descarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de &amp;Pantalla Completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Recordármelo después</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Para obtener la versión actualizada, descargá %1 de nuevo desde el enlace que recibiste via correo y reinstala </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>A6nterior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Volver a la pista previa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo Compacto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el enlace de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar Video &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar Video &amp;Partes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Borrar las búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Iniciar Reproducción Manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Empezar a reproducir videos manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproducir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Continuar reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Volumen silenciado</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Volumen activo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definición máxima de video seteada en %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Tu privacidad ahora está segura</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Descarga completa</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Ahora podés pegar el enlace de YouTube en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>El enalce va a ser válido sólo por un tiempo limitado.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Conseguir la versión completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Descargando %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Error de conexión: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 visitas</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Preparando</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Falló</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Completado</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Detenido</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Detener descarga</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Mostrar en %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Abrir carpeta contenedora</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Reiniciar descarga</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Buscando...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Mostrar %1 más</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>No hay videos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sortear por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Contador de Visitas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Calificación</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Histórico</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Cortos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Medianos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Largos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Menores que 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayores a 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta Definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Finalizado</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Conseguir la versión completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>para empezar a ver videos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Personalizar</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Atrás</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Quiso decir: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de conexión: %1 para %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 2b0bca6e41cbb710ed81c5a2a4c35bd048ffd0bf..9278f7dd966dcfb8856262f5b472c75338742af4 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>¡Hay vida fuera del navegador!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versión %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 es Software Libre pero su desarrollo lleva mucho tiempo.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, reproductor de música de YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un reproductor de música</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Traduce %1 a tu idioma utilizando %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icono diseñado por %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Acerca de...</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Lo que siempre quiso saber sobre el %1 y nunca se atrevió a preguntar</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Limpiar</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Introduzca la licencia de %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Esta versión de prueba ha caducado.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>La versión completa le permite descargar videos cuya duración sea más grande que %1 y ver videos sin interrupciones.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Esta versión de prueba caducará en %1 días.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Al comprar la versión completa, también apoya el trabajo empleado en la creación de %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Utilizar la versión de prueba</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obtener la versión completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Limpiar</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restante</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es sólo la versión demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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 más cortos de %1 minutos, así puede probar la funcionalidad de descarga.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descargado en %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Descarga finalizada</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descarga(s)</numerusform><numerusform>%n Descarga(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Cambiar ubicación...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Eligir la ubicación de descarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Ubicación de descarga cambiada.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Las descargan actuales irán a parar a la anterior ubicación.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Descargado: %1</translation>
     </message>
         <translation>Descargas</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Buscando...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Buscar</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostrar %1 más</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>No hay vídeos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>No hay más vídeos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Parar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Parar reproducción y volver a la vista de búsqueda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>Sa&amp;ltar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Saltar al siguiente vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausar reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Ir a pantalla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Copiar al portapapeles la &amp;URL del stream de vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Encontrar otras partes de video, con suerte, en el orden correcto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>Elimina&amp;r</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>S&amp;ubir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>&amp;Bajar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Salir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Adiós</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Sitio &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 en la Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Por favor, apoye el continuo desarrollo de %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Acerca de</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Información sobre %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Silenciar volumen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descargas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Muestra detalles sobre las descargas de vídeos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Descargar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Descarga el vídeo actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Correo electrónico</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Siempre Visible</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Pausar Después De Este Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Reporte un inconveniente...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Búsqueda...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicación</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>Lista de Re&amp;producción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Ver</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>Com&amp;partir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Ayuda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Presiona %1 para subir el volumen, %2 para bajarlo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Abriendo %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Cerrar y cancelar la descarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Esperar la finalización de la descarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Salir de pan&amp;talla completa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Recordarme después</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Para obtener la versión actualizada, descargue %1 de nuevo desde el enlace que recibió por correo, y reinstale.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revio</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Vuelve a la vista anterior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo Compacto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir la página de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar el &amp;enlace de YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar Video En Línea &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Encontrar Videos &amp;Partes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpiar búsquedas recientes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Hacer una &amp;donación</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Iniciar Reproducción Manual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Empezar a reproducir videos manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Reiniciar la reproducción</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tiempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volumen al %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>El volumen está desactivado</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>El volumen está activado</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definición Máxima de Video es %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Su privacidad ahora es segura</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Descargas completadas</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Ahora puedes pegar la URL del stream de vídeo en otra aplicación</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta es sólo la versión de demo de %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Le premite probar la aplicación y ver si le funciona.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Enviado desde %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Descargand %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Error de red: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 vistas</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) -- %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Preparando</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Falló</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Completo</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Parado</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Parar descarga</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Mostrar en %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Abrir carpeta padre</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Reiniciar descarga</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Buscando...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>No hay vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sortear por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Vistas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Calificación</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Histórico</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Hoy</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 Días</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duración</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Corto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Mediano</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Largo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Menor que 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 y 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Mayor que 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Calidad</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta Definición</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p o mayor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Finalizado</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Bienvenido/a a &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Obtener la versión completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una palabra clave</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>empezar a ver vídeos</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Palabras clave recientes</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canales recientes</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Siéntete como en casa</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Volver</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Refinar Búsqueda</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Quiso decir: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de red: %1 por %2 </translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index b5047116a67efb2e36560e138492f1b94abd4f8b..7de34c5cda705b13aac7f5e36b0c56d12b52e99f 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Selaimen ulkopuolellakin on elämää!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versio: %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube-musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Kuvakkeen suunnitteli %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Tyhjennä</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Sähköposti:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Koodi:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Lisensioi %1.</translation>
+        <translation>Lisensoi %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Tämä demon kokeiluaika on päättynyt.</translation>
+        <translation>Tämä koekäyttöversio on vanhentunut.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
         <translation>Täysversio sallii sinun ladata yli %1 minuutin pituisia videoita ja katsoa videoita ilman keskeytyksiä.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Tämän demon kokeiluaika päättyy %1 päivän kuluttua.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Ostamalla täyden version tuet kovaa työtäni sovelluksen %1 parissa.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Käytä demoa</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Hanki täysversio</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Syötä lisenssi</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Osta lisenssi</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Tyhjennä</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>tavua</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>Kt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>Mt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>tavua/sekunnissa</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>Kt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>Mt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekunttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuuttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 jäljellä</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ladattu ajassa %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Lataus valmistui</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <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="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Valitse latausten sijainti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Lataus sijaintia on muutettu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Ladataan kansioon: %1</translation>
     </message>
         <translation>Lataukset</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Ladataan päivitystä...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Etsitään...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Näytä %1 lisää</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Ei videoita</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Ei enempää videoita</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Tee olosi kotoisaksi</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hyppää yli</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Siirry seuraavaan videoon</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Keskeytä toisto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Koko näytön tila</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Siirry koko näytön tilaan</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Piilota soittolista sekä työkalupalkki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Poista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Poista valitut videot toistolistalta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Siirrä &amp;ylös</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Sirrä &amp;alas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Näkemiin</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettisivusto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 netissä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Tue %1n jatkokehitystä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Tietoja</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Tietoja %1sta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Vaimenna ääni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Lataukset</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Näytä tietoja latauksista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Lataa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Lataa nykyinen video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Jaa nykyinen video palvelulla %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Pysy päällimmäisenä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <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="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ilmoita ongelmasta...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Määritä haku uudelleen...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Sovellus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Osta %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Toisto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>S&amp;oittolista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Jaa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Ohje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Avataan kohdetta %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Sulje ja peru lataus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Odota latauksen valmistumista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation> Poistu &amp;koko näytön tilasta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versio %2 on nyt saatavilla.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Muistuta myöhemmin</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Saadaksesi päivitetyn version, lataa %1 uudestaan sähköpostitse saamastasi linkistä ja asenna uudelleen.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Päivitä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Virhe: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>E&amp;dellinen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Siirry takaisin edelliseen kappaleeseen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakti &amp;tila</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Avaa &amp;YouTube-sivu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopioi YouTube-&amp;linkki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopioi videovirran &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Etsi videon &amp;osat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Ty&amp;hjennä viimeisimmät haut</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Tee &amp;lahjoitus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Aloita toisto &amp;manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Aloittaa videoiden toiston manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Toista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Jatka toistoa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Aikaa jäljellä: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Äänentaso: %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Ääni on vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Ääni ei ole vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Yksityisyytesi on nyt turvattu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Lataukset ovat valmistuneet</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Lähetetty palvelusta %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Ladataan %1ta/tä</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Haluatko ladata sen nyt?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Ohita tämä versio</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Muistuta myöhemmin</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Asenna päivitys</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Verkkovirhe: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>Katsottu %1 kertaa</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 / %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Valmistellaan</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Epäonnistui</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Valmis</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Pysäytetty</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Pysäytä lataus</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Avaa %1ssa/ssä</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>Avaa yläkansio</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Käynnistä lataus uudelleen</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Etsitään...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Näytä %1 lisää</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Ei videoita</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Ei enempää videoita</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Olennaisuus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Päiväys</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Katselukerrat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Arvostelu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Milloin tahansa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Kesto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Kaikki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Lyhyt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Keskipituinen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Pitkä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Vähemmän kuin 4 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4-20 minuutin välillä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Pidempi kuin 20 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Laatu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Teräväpiirto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p tai tarkempi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Valmis</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Hanki täysversio</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>hakusana</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>kanava</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>aloittaaksesi videoiden katselu.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Katso</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Viimeisimmät hakusanat</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Viimeisimmät kanavat</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Tee olosi kotoisaksi</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Takaisin</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Määritä haku uudelleen</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Tarkoititko: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostriimiä ei saada kohteelle %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Verkkovirhe: &quot;%1&quot; &quot;%2&quot;lle</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 178f9530b935206db97f2d0b5d894877ef80f105..a5c8bf2b3cb55e31de7ec540950bdec6a068b493 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Selaimen ulkopuolellakin on elämää!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versio: %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Lisensoitu henkilölle: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube-musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, musiikkisoitin</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Kuvakkeen suunnitteli %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Tyhjennä</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Syötä tähän lisenssitietosi</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Sähköposti:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Koodi:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Lisensioi %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Tämä demon kokeiluaika on päättynyt.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Täysversio sallii sinun ladata yli %1 minuutin pituisia videoita ja katsoa videoita ilman keskeytyksiä.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Tämän demon kokeiluaika päättyy %1 päivän kuluttua.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Ilman lisenssiä tämä sovellus vanhenee %1 päivässä.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Ostamalla täyden version tuet kovaa työtäni sovelluksen %1 parissa.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Käytä demoa</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Hanki täysversio</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Syötä lisenssi</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Osta lisenssi</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Tyhjennä</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>tavua</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>Kt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>Mt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>tavua/sekunnissa</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>Kt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>Mt/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekunttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuuttia</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 jäljellä</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ladattu ajassa %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Lataus valmistui</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation type="unfinished"><numerusform>%n Lataus(ta)</numerusform><numerusform></numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Vaihda sijaintia...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Valitse latausten sijainti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Lataus sijaintia on muutettu.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Ladataan kansioon: %1</translation>
     </message>
         <translation>Lataukset</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Ladataan päivitystä...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Etsitään...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Näytä %1 lisää</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Ei videoita</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Ei enempää videoita</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Tee olosi kotoisaksi</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Pysäytä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Hyppää yli</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Siirry seuraavaan videoon</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Keskeytä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Keskeytä toisto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Koko näytön tila</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Siirry koko näytön tilaan</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Piilota soittolista sekä työkalupalkki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Poista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Poista valitut videot toistolistalta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Siirrä &amp;ylös</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Sirrä &amp;alas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Näkemiin</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Nettisivusto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 netissä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Tue %1n jatkokehitystä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Tietoja</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Tietoja %1sta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Etsi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Vaimenna ääni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Lataukset</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Näytä tietoja latauksista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Lataa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Lataa nykyinen video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Jaa nykyinen video palvelulla %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Sähköposti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Sulje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Pysy päällimmäisenä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <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="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Ilmoita ongelmasta...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Määritä haku uudelleen...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Sovellus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Osta %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Toisto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>S&amp;oittolista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Jaa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Ohje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Avataan kohdetta %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Sulje ja peru lataus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Odota latauksen valmistumista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation> Poistu &amp;koko näytön tilasta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versio %2 on nyt saatavilla.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Muistuta myöhemmin</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Saadaksesi päivitetyn version, lataa %1 uudestaan sähköpostitse saamastasi linkistä ja asenna uudelleen.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Päivitä</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Virhe: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>E&amp;dellinen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Siirry takaisin edelliseen kappaleeseen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Kompakti &amp;tila</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Avaa &amp;YouTube-sivu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopioi YouTube-&amp;linkki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopioi videovirran &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Etsi videon &amp;osat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Ty&amp;hjennä viimeisimmät haut</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Tee &amp;lahjoitus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Aloita toisto &amp;manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Aloittaa videoiden toiston manuaalisesti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Toista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Jatka toistoa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Aikaa jäljellä: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Äänentaso: %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Ääni on vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Ääni ei ole vaimennettu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Korkein videonlaatu on rajoitettu tarkkuuteen %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Yksityisyytesi on nyt turvattu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Lataukset ovat valmistuneet</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Jatka</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Lähetetty palvelusta %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Hanki täysi versio</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Ladataan %1ta/tä</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Uusi versio sovelluksesta %1 on saatavilla!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 on nyt saatavilla. Sinulla on %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Haluatko ladata sen nyt?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Ohita tämä versio</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Muistuta minua myöhemmin</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Asenna päivitys</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Verkkovirhe: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Liitä</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>Katsottu %1 kertaa</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 / %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Valmistellaan</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Epäonnistui</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Valmis</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Pysäytetty</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Pysäytä lataus</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Avaa %1ssa/ssä</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>Avaa yläkansio</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Käynnistä lataus uudelleen</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Etsitään...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Näytä %1 lisää</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Ei videoita</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Ei enempää videoita</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Järjestysperuste</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Olennaisuus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Päiväys</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Katselukerrat</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Arvostelu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Milloin tahansa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 päivää</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Kesto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Kaikki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Lyhyt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Keskipituinen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Pitkä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Vähemmän kuin 4 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4-20 minuutin välillä</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Pidempi kuin 20 minuuttia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Laatu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Teräväpiirto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p tai tarkempi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Valmis</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Hanki täysversio</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>hakusana</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>kanava</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>aloittaaksesi videoiden katselu.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Katso</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Viimeisimmät hakusanat</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Viimeisimmät kanavat</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Tee olosi kotoisaksi</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Takaisin</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Määritä haku uudelleen</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Tarkoititko: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Videostriimiä ei saada kohteelle %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Verkkovirhe: &quot;%1&quot; &quot;%2&quot;lle</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 1d1883c7f469c23aaac69701956f25da4d934fbc..9551f9beda7184279898913d39e0cee52d34c47b 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licence accordée à : %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <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="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un lecteur de musique</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icône dessinée par %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Fermer</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>À propos</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Effacer</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Entrez les details de votre licence</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email :</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Code :</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Veuillez obtenir une licence pour %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Cette version démo a expiré.</translation>
+        <translation>Cette version de démo a expiré.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>La version complète vous permet de télécharger des vidéos de plus de %1 minutes et de regarder des vidéos sans interruptions.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Cette version démo s&apos;expire dans %1 jours.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>En l&apos;absence de licence, l&apos;application expirera dans %1 jours.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>En achetant la version complète, vous supporterais aussi le le grand travail que j&apos;ai investi à la création de %1.</translation>
+        <translation>En achetant la version complète, vous supporterai aussi le grand travail que j&apos;ai investi dans la création de %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Utilisez la version démo</translation>
+        <translation>Utilisez la version de démo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obtenir la version complète</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Entrer une licence</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Acheter une licence</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Effacer</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>secondes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restant</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuer</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%1 téléchargé sur %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
-        <translation type="unfinished"/>
+        <translation>Téléchargement terminé</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Téléchargement</numerusform><numerusform>%n Téléchargements</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Changer d&apos;emplacement...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Choisissez l&apos;emplacement de téléchargement</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Emplacement de téléchargement changé.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Téléchargement de : %1</translation>
     </message>
         <translation>Téléchargements</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Téléchargement de la mise à jour...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Recherche...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Chercher</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Afficher %1 de plus</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Pas de vidéos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Plus de vidéos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Arrêter</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Passer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Passer à la vidéo suivante</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pause</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Mettre en pause</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Plein écran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Mettre en plein écran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
-        <translation type="unfinished"/>
+        <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Supprimer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Déplacer vers les &amp;haut</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Déplacer vers les &amp;bas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Quitter</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Au revoir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Site &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 sur le Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;À propos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>À propos de %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Chercher</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Couper le son</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Téléchargements</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Téléchargement</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Télécharger la vidéo en cours</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Partager cette vidéo avec %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Fermer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Laisser au dessus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <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="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Signaler un problème...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
+        <translation>&amp;Affiner la recherche...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Acheter %1 …</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Lecture</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Liste de lecture</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Vidéo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Vue</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Partager</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Aide</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Ouverture de %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Fermer et annuler le téléchargement</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Attendez la fin du téléchargement</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Quitter le &amp;mode plein écran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 est maintenant disponible</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Me rappeler plus tard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>To get the updated version, download %1 again from the link you received via email and reinstall.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Mettre à jour</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Erreur : %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;récédent</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Aller à la piste précédente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode compact</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Ouvrir la page &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copier le &amp;lien Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <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="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Trouver les &amp;parties de la vidéo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Effacer les recherches récentes </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Faire un &amp;Don</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
+        <translation>Démarrer manuellement la lecture de vidéos</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Jouer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Relancer la lecture</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Temps restant : %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volume à %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Volume OFF</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Volume ON</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Votre confidentialité est maintenant respectée</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Téléchargements terminés</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuer</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Envoyé par %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>%1 Téléchargement</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Une nouvelle version de %1 est disponible !</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 est maintenant disponible. Vous avez %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Voulez-vous la télécharger maintenant ?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Sauter Cette Version</translation>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Erreur réseau : %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Me Le Rappeler Plus Tard</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Installer La Mise à jour</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Coller</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 vues</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Préparation</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Échec</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Terminé</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Arrêté</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Arrêter le téléchargement</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Montrer dans %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Ouvrir le dossier parent</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Redémarrer le téléchargement</translation>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>RefineSearchWidget</name>
+    <name>PlaylistModel</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Recherche en cours…</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
         <translation type="unfinished"/>
     </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Pas de vidéos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
     <message>
         <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <source>Sort by</source>
+        <translation>Trier par</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
-        <translation type="unfinished"/>
+        <translation>Pertinence</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
-        <translation type="unfinished"/>
+        <translation>Date</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
-        <translation type="unfinished"/>
+        <translation>Nombre de vues</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
-        <translation type="unfinished"/>
+        <translation>Note</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
-        <translation type="unfinished"/>
+        <translation>N&apos;importe quand</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
-        <translation type="unfinished"/>
+        <translation>Aujourd&apos;hui</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
-        <translation type="unfinished"/>
+        <translation>7 jours</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
-        <translation type="unfinished"/>
+        <translation>30 jours</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
-        <translation type="unfinished"/>
+        <translation>Durée</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
-        <translation type="unfinished"/>
+        <translation>Tous</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
-        <translation type="unfinished"/>
+        <translation>Court</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
-        <translation type="unfinished"/>
+        <translation>Moyen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
-        <translation type="unfinished"/>
+        <translation>Long</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Inférieur à 4 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Entre 4 et 20 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Plus long que 20 minutes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
-        <translation type="unfinished"/>
+        <translation>Qualité</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
-        <translation type="unfinished"/>
+        <translation>Haute définition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
-        <translation type="unfinished"/>
+        <translation>720p ou plus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Terminer</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation type="unfinished"/>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Obtenir la version complète</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>un mot-clé</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>une chaîne</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>pour commencer à regarder des vidéos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Regarder</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Derniers mots-clés</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Chaînes récentes</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Retour</translation>
+    </message>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Installez-vous confortablement</translation>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
-        <translation type="unfinished"/>
+        <translation>Affiner la recherche</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
+        <translation>Vouliez-vous dire: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Erreur réseau : %1 pour %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/gl.ts b/locale/gl.ts
deleted file mode 100644 (file)
index dcdaa38..0000000
+++ /dev/null
@@ -1,1072 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="gl" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <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="29"/>
-        <source>Version %1</source>
-        <translation>Versión %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <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="34"/>
-        <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="38"/>
-        <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="41"/>
-        <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="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, un reprodutor de música</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <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="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Icona deseñada por %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Pechar</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Sobre</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Limpar</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Licenza %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Esta demo caducou.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>A versión completa permite descargar vídeos con máis de %1 minutos e velos sen interrupcións.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Esta demo vai caducar en %1 días.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Ao comprar a versión completa, tamén vai apoiar o traballo arreo que puxen en crear %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Usar a demostración</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obter a versión completa</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>bytes</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>bytes/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>segundos</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>minutos</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 restantes</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <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="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Continuar</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Obter a versión completa</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Descarga</numerusform><numerusform>%n Descargas
-        </numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Cambiar a localización...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Escolla a localización da descarga</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Cambiada a localización da descarga.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <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="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Descargando en: %1</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>Descargas</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Reproducir</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Deter</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Reproducir/deter</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Parar</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Parar a reprodución despois da pista actual</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Seguinte pista</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Pista anterior</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Aumentar volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Diminuír volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Silenciar</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Buscar cara adiante</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Buscar cara atrás</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Buscando...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostrar %1 máis</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Non hai vídeos</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Non hai máis vídeos</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Erro</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Parar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <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="189"/>
-        <source>S&amp;kip</source>
-        <translation>&amp;Saltar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Saltar ao seguinte vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Deter</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Deter a reprodución</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Pantalla completa</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Ir á pantalla completa</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <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="233"/>
-        <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="240"/>
-        <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="247"/>
-        <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="254"/>
-        <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="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Retirar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <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="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Mover cara &amp;arriba</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <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="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Mover cara a&amp;baixo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <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="286"/>
-        <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="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Saír</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Deica logo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>Sitio &amp;web</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 na web</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <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="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Sobre</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Información acerca de %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Buscar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Silenciar o volume</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Descargas</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <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="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Descarga</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Descargando o vídeo actual</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <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="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Correo-e</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Correo-e</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Pechar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Aplicativo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Reproducir</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Lista de reprodución</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Ver</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Compartir</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>A&amp;xuda</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Abrindo %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <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="848"/>
-        <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="853"/>
-        <source>Close and cancel download</source>
-        <translation>Pechar e cancelar a descarga</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Agardar a que remate a descarga</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Abandonar a &amp;pantalla completa</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <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="1377"/>
-        <source>Remind me later</source>
-        <translation>Lembrar máis adiante</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Para obter a versión actualizada, descargue %1 de novo desde a ligazón que recibiu por correo electrónico e reinstale.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Actualizar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Produciuse un erro: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Ir á pista anterior</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Reproducir</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Continuar a reprodución</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Tempo restante: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Volume ao %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>O volume está silenciado</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>O volume non está silenciado</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <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="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>A súa intimidade agora está segura</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Descargas completadas</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <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="554"/>
-        <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="555"/>
-        <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="654"/>
-        <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="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Continuar</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <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="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Enviado desde %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Obter a versión completa</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Descargando %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Produciuse un erro na rede: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 visualizacións</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Preparando</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Produciuse un fallo</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Completada</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Detida</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Deter a descarga</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Mostrar en %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Abrir o cartafol pai</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Reiniciar a descarga</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Buscar</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Obter a versión completa</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Introduza</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>unha palabra clave</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>unha canle</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>para comezar a ver vídeos.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Ver</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Palabra clave recente</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Canles recentes</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Síntase cómodo</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <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="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Produciuse un erro na rede: %1 por %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 5a411e3779f45ff303675879a4c14fc6cb22b34b..14bd9e515df9f5c8ecc61f95bec4dbd4bc14db34 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>יש חיים מחוץ לדפדפן!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>גרסה %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 הנה תכנה חופשית אך פיתוחה לוקח המון זמן יקר.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>מומלץ לנסות להשתמש בשאר היישומים שלי:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, נגן מוזיקה מיוטיוב</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, נגן מוזיקה</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>ניתן לתרגם את %1 לשפת אמך באמצעות %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>הסמל עוצב על ידי %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;סגירה</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>על אודות</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>מה שתמיד רצית לדעת על %1 ולא העזת לשאול</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>מחיקה</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>נא לרכוש את %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>גרסת הדגמה זו פגה.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>הגרסה המלאה מאפשרת לך להוריד קובצי וידאו שאורכם מעל מ־%1 דקות ולצפות בקטעי וידאו ללא הפרעות.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>גרסת הדגמה זו תפוג בעוד %1 ימים.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>רכישת הגרסה המלאה מהווה תמיכה בעבודה הקשה שאני משקיע ביצירת %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>שימוש בהדגמה</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>קבלת הגרסה המלאה</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>מחיקה</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>בתים</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>ק״ב</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>מ״ב</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>בתים/שנייה</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>ק״ב/שנייה</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>מ״ב/שנייה</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>שניות</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>דקות</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 נותרו</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>זוהי רק גרסת ההדגמה של %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>המשך</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%1 התקבל במהירות של %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
-        <translation type="unfinished"/>
+        <translation>ההורדה הושלמה</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>הורדה אחת</numerusform><numerusform>%n הורדות</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>שינוי המיקום...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>נא לבחור את מיקום ההורדה</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>מיקום ההורדה השתנה.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>ההורדה הנוכחית עדיין תישמר במיקום הקודם.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>מתבצעת הורדה אל: %1</translation>
     </message>
         <translation>הורדות</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>×\91×\94×\9c×\99×\9b×\99 ×\97×\99פ×\95ש...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>×\97×\99פ×\95ש</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>הצגת %1 נוספים</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>אין סרטונים</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>אין עוד סרטונים</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>שבו בניחותא</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;עצירה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>עצירת הנגינה וחזרה אל תצוגת החיפוש</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;דילוג</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>דילוג אל הסרטון הבא</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>ה&amp;שהיה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>השהיית הנגינה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;מסך מלא</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>מעבר למסך מלא</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>הסתרת רשימת ההשמעה וסרגל הכלים</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>מעבר לעמוד הווידאו ב־YouTube והשהיית הנגינה.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>העתקת הקישור אל הווידאו הנוכחי אל לוח הגזירים</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>העתקת כתובת תזרים הווידאו אל לוח הגזירים</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>חיפוש חלקים אחרים בתקווה שהם בסדר הנכון</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>ה&amp;סרה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>הסרת הסרטונים הנבחרים מרשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>הזזה מ&amp;מעלה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>הזזת הסרטונים הנבחרים במעלה רשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>הזזה מ&amp;טה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>הזזת הסרטונים הנבחרים במורד רשימת ההשמעה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>מחיקת היסטוריית החיפוש. לא ניתן לבטל</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>י&amp;ציאה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>להתראות</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;אתר האינטרנט</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 באינטרנט</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>אנא תמכו בהמשך הפיתוח של %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;על אודות</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>מידע אודות %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>חיפוש</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>השתקת השמע</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>הו&amp;רדות</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>הצגת פרטים על אודות הורדות וידאו</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>הו&amp;רדה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>הורדת סרטון הווידאו הנוכחי</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>שיתוף הווידאו הנוכחי דרך %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;דוא״ל</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>דוא״ל</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;סגירה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;ציפה מלמעלה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>ל&amp;עצור לאחר וידאו זה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>&amp;דיווח על תקלה...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
+        <translation>&amp;שיפור החיפוש...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;יישום</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>רכישת %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>נ&amp;גינה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;רשימת השמעה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;וידאו</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;צפייה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;שיתוף</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;עזרה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>ניתן ללחוץ על %1 כדי להגביר את עצמת השמע, %2 כדי להנמיך אותה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>%1 נפתח</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>האם ברצונך לצאת מ־%1 כאשר ישנה הורדה פעילה?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>אם %1 ייסגר כעת, הורדה זו תבוטל.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>סגירה וביטול ההורדה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>יש להמתין לסיום ההורדה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>יציאה ממ&amp;סך מלא</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 בגרסה %2 זמין כעת.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>להזכיר לי מאוחר יותר</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>כדי לקבל את הגרסה העדכנית, יש להוריד את %1 פעם נוספת מהקישור שקיבלת בדוא״ל ולהתקין מחדש.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>עדכון</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>שגיאה: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>ה&amp;קודם</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>חזרה לרצועה הקודמת</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>מ&amp;צב חסכוני</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>פתיחת העמוד ב&amp;יוטיוב</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>העתקת ה&amp;קישור ליוטיוב</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>העתקת כתובת ת&amp;זרים הווידאו</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>חיפוש ק&amp;טעי וידאו</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;ניקוי החיפושים האחרונים</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>ה&amp;גשת תרומה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>התחלת נגינה י&amp;דנית</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>התחלה ידנית בנגינת קטעי הווידאו</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;נגינה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>המשך הנגינה</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>הזמן הנותר: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>עצמת השמע היא %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>השמע מושתק</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>השמע אינו מושתק</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>איכות הנגינה המירבית מוגדרת ל־%1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>פרטיותך מוגנת כעת.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>ההורדות הושלמו</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>כעת ניתן להדביק את קישור ה־YouTube שלכם ליישום אחר</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>כעת ניתן להדביק את כתובת תזרים הווידאו ליישום אחר</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>הקישור יהיה תקף לזמן מוגבל בלבד.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>זוהי רק גרסת ההדגמה של %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>המשך</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>מתוך</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>נשלח דרך %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>%1 מתקבל</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>שגיאת רשת: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 צפיות</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 מתוך %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>בהכנה</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>כשל</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>הושלם</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>נעצר</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>עצירת ההורדה</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>הצגה ב%1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>פתיחת תיקיית ההורה</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>הפעלת ההורדה מחדש</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>בהליכי חיפוש...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>הצגת %1 נוספים</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>אין סרטונים</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>אין עוד סרטונים</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
-        <translation type="unfinished"/>
+        <translation>סידור לפי</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
-        <translation type="unfinished"/>
+        <translation>רלוונטיות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
-        <translation type="unfinished"/>
+        <translation>תאריך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
-        <translation type="unfinished"/>
+        <translation>מונה צפיות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
-        <translation type="unfinished"/>
+        <translation>דירוג</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
-        <translation type="unfinished"/>
+        <translation>בכל זמן שהוא</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
-        <translation type="unfinished"/>
+        <translation>היום</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
-        <translation type="unfinished"/>
+        <translation>7 ימים</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
-        <translation type="unfinished"/>
+        <translation>30 ימים</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
-        <translation type="unfinished"/>
+        <translation>משך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
-        <translation type="unfinished"/>
+        <translation>הכול</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
-        <translation type="unfinished"/>
+        <translation>קצר</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
-        <translation type="unfinished"/>
+        <translation>בינוני</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
-        <translation type="unfinished"/>
+        <translation>ארוך</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>פחות מ־4 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>בין 4 ל־20 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>למעלה מ־20 דקות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
-        <translation type="unfinished"/>
+        <translation>איכות</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
-        <translation type="unfinished"/>
+        <translation>אבחנה גבוהה (HD)</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
-        <translation type="unfinished"/>
+        <translation>720p ומעלה</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>הסתיים</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>הסתיים</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>קבלת הגרסה המלאה</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>מילת מפתח</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>ערוץ</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>כדי להתחיל לצפות בסרטונים.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>צפייה</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>מילות מפתח אחרונות</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>ערוצים אחרונים</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>שבו בניחותא</translation>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
-        <translation type="unfinished"/>
+        <translation>שיפור החיפוש</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
+        <translation>האם כוונתך הייתה: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>לא ניתן לקבל את תזרים הווידאו עבור %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>שגיאת רשת: %1 עבור %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 1fd732d7002a05069a60e7da2580849c9be25352..5422ef0a2d0ab4b1261ee2af1c44b8eb4a0c5903 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Život postoji i van browsera!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Verzija %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, player glazbe sa YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, za reprodukciju glazbe</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Dizajn ikone %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvori</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>O programu</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Obriši</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Molimo registrirajte %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Vaša demo verzija je istekla.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Puna verzija vam dozvoljava da skidate video duži od  %1 minuta i da gledate video bez prekida.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Ova demo verzija će isteći za %1 dana.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Kupnjom pune verzije podržati ćete i težak rad uložen u izradu %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Koristi demo verziju.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Preuzmi punu verziju</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Obriši</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bajtova</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bajtova/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekundi</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuta</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 preostalo</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ovo je samo demo verzija %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Nastavi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Preuzmi punu verziju</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 preuzet u %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Preuzimanje završeno</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n preuzimanje</numerusform><numerusform>%n preuzimanja</numerusform><numerusform>%n preuzimanja</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Promijeni odredište preuzimanja...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Odaberi odredište preuzimanja</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Odredište preuzimanja promijenjeno.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Preuzimam u: %1</translation>
     </message>
         <translation>Preuzimanja</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Pretraga...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Traži</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Prikaži još %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Nema videa</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nema više videa</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Preskoči</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Preskoči na slijedeći video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pauziraj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Cijeli ekran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Prikaži preko cijelog ekrana</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Sakrij play listu i alatnu traku</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Nađi ostale dijelove videa, vjerojatno u pravom rasporedu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Ukloni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Ukloni odabrane video clipove iz play liste</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Pomakni &amp;gore</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Pomakni gore slektirane video clipove u play listi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Pomakni &amp;dolje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Pomakni dolje slektirane video clipove u play listi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Očisti povijest pretraga. Ne može se vratiti.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Kraj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Doviđenja</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Web stranice</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 na webu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;O programu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informacije o %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Traži</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Utišaj zvuk</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Preuzimanja</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Pokaži informacije o preuzimanjima videa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Preuzmi trenutni video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Podijeli trenutni video koristeći %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvori</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Budi na vrhu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stani nakon ovog videa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Prijavi problem</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Suzi pretragu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Program</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Kupi %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Sviraj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Play lista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Pogled</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Podijeli</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoć</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Otvaram %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Zatvori i poništi preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Pričekaj da završi preuzimanje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Izađi iz &amp;Cijelog ekrana</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 verzija %2 je dostupna.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Podsjeti me kasnije</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Da bi skinuli nadogradnju, preuzmite %1 sa linka koji ste dobili e-mailom i reinstalirajte ga.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Unaprijedi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Greška: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;rethodni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Idi nazad na prethodnu pjesmu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktni mod</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otvori &amp;YouTube stranicu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopiraj YouTube &amp;link</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiraj &amp;URL video streama</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Nađi &amp;dijelove videa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Izbriši nedavne pretrage</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Izvrši &amp;donaciju</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ručno pokreni reprodukciju</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Ručno pokreni reprodukciju videa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Sviraj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>&amp;Nastavi sviranje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Preostalo vrijeme: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Glasnoća na %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Zvuk je ugašen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Zvuk je upaljen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimalna video rezolucija postavljena na %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Vaša privatnost je sada sigurna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Preuzimanja završena</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Nastavi</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Poslano sa %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Preuzmi punu verziju</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Preuzimam %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Greška mreže: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 pregleda</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 od %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Pripremam</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Nije uspjelo</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Završeno</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Zaustavljeno</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Zaustavi preuzimanje</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Pokaži u %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Otvori mapu iznad</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Ponovo pokreni preuzimanje</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Pretražujem...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Nema videa</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Nema više videa</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sortiraj po</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Važnost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Broj pregleda</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Ocjena</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Bilo kada</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Danas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dana</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dana</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Trajanje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Sve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Kratko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Srednje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Dugo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Kraće od 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Između 4 i 20 minuta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Duže od 20 minuta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Kvaliteta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Visoka razlučivost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p ili više</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Gotovo</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Preuzmi punu verziju</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>ključna riječ</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>kanal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>da počnete gledati video.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Gledaj</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Nedavne ključne riječi</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Nedavni kanali</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Udobno se smjestite</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Nazad</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Suzi pretragu</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Dali ste mislili: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Greška mreže: %1 za %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 06f77dbf69e633561d0651d3350ce0dd6f8f4123..b6390acb6531249d0c81a34008a73a048587e631 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Verzió: %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Ki szeretne próbálni más alkalmazást is?</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, a YouTube zenelejátszó</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, zenelejátszó</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ikon tervezője: %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Bezárás</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Névjegy</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Törlés</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kód</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Szerezzen licencet a %1 programhoz</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>A demó változat lejárt.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
         <translation>A teljes verzió lehetőséget nyújt %1 percnél hosszabb videók letöltésére és a videók megszakítás nélküli lejátszására.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>A demó változat %1 nap múlva lejár.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Licenc nélkül, a program %1 nap múlva lejár.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>A teljes verzió megvásárlásával a %1 programba fektetett munkámat is támogatja.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Demó használata</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Teljes verzió beszerzése</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Törlés</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bájt</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bájt/mp</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/mp</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/mp</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>másodperc</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>perc</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>Hátralévő idő: %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Folytatás</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Letöltés befejezve</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <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="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Hely módosítása...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Letöltés helyének kiválasztása</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>A letöltés helye megváltozott.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Letöltés ide: %1</translation>
     </message>
         <translation>Letöltések</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Frissítés letöltése...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Keresés...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>További %1 elem megjelenítése</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Nem található videó</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nem található több videó</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Videók keresése kategória szerint</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Helyezze kényelembe magát</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Leállítás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>U&amp;grás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Ugrás a következő videóra</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Megállítás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Lejátszás megállítása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Teljes képernyő</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Teljes képernyőre váltás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Eltávolítás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mozgatás &amp;felfelé</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mozgatás &amp;lefelé</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Kilépés</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Viszlát</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Webhely</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 a weben</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Névjegy</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Információ a %1 programról</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Keresés</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Hangerő némítása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Letöltések</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Letöltés</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Aktuális videó letöltése</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Bezárás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Többi ablak fölött</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <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="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Hiba bejelentése</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Keresés pontosítása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Alkalmazás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>%1 megvásárlása...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lejátszási lista</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Videó</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Megtekintés</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Megosztás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Súgó</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>%1 megnyitása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <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="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <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="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <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="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Figyelmeztetés később</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>A frissebb verzió beszerzéséhez töltse le újból a %1 programot az e-mailben lévő hivatkozáson keresztül, és telepítse újra a programot.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Frissítés</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Hiba: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>&amp;Előző</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <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="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktmód</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube oldal megnyitása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;hivatkozás másolása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>&amp;Videó-URL másolása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>További videó&amp;részletek keresése</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Legutóbbi keresések törlése</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>&amp;Támogasd</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuális lejátszás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <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="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Lejátszás</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Lejátszás folytatása</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Hátralévő idő: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Hangerő: %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Hangerő némítva</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Hangerő némítása feloldva</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <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="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>A letöltések befejeződtek</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Folytatás</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation> - </translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>A %1 programból küldve</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Letöltés: %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>A %1 program %2 verziója elérhető. Neked %3 van.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Szeretné letölteni most?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Emlékeztessen később</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Frissítés telepitése</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Hálózati hiba: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Beillesztés</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 megtekintés</translation>
+        <translation>%1 néző</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 %2 közül (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Előkészítés</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Hiba</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Sikeres befejezés</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Leállítva</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Letöltés leállítása</translation>
+        <translation>Letöltés leállítása </translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Megjelenítés a következőben: %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Szülő mappa megnyitása</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Letöltés újraindítása</translation>
+        <translation>Letöltés újraindítása </translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Keresés...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Nincsenek videók</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Nincs több videó </translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Rendezés</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Dátum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Megtekintések száma</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Értékelés</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Bármikor</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Ma</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 napja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 napja</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Időtartam</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Összes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Rövid</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Közepes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Hosszú</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Rövidebb, mint 4 perc</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <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="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Hosszabb, mint 20 perc</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Minőség</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Nagyfelbontású</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p vagy nagyobb</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Kész</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation>Kész</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Teljes verzió beszerzése</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>egy kulcsszót</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>egy csatornát</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>a videók megtekintéséhez.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Megtekintés</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Legutóbbi kulcsszavak</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Legutóbbi csatornák</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Helyezze kényelembe magát</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Vissza</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Tovább a %1-re</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Vissza a %1-re</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Keresés finomítása</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Így értette: %1?</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Legnépszerübb</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Kiemelt</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Hálózati hiba: %1 a következőhöz: %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Algéria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentína </translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Ausztrália</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgium</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brazília </translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Kanada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Kolumbia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Cseh Köztársaság</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egyiptom</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Franciaország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Németország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghána</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Görögország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Magyarország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonézia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Írország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Izrael </translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Olaszország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japán</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Jordánia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malájzia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Mexikó </translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Marokkó</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Hollandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Új Zéland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigéria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Fülöp-szigetek</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Lengyelország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Oroszország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Szaúd-Arábia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Szingapúr</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Dél Afrika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Dél Korea</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Spanyolország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Svédország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Tajvan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunézia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Törökország</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Egyesült Arab Emirségek</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Nagy Britannia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Jemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Világszerte</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 985e846720d93bd152ea386943328e207733217c..89959d5deb0b04358dfb8a6a822c264b2771b1d0 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Version %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un reproductor de musica de YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un sonator de musica</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icone designate per %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Clauder</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Super</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Mundar</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;E-posta</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Codice</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Licentia %1, per favor</translation>
+        <translation>Per favor, licentia %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Iste demo ha expirate</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Le version complete permitte que tu discarga videos de un duration plus de %1 minutas e vider videos sin interruptiones.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Iste demo expirara in %1 dies.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Al comprar le version complete, tu va supportar tamben le dur labor que io habeva pro crear %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Usar demo</translation>
+        <translation>Usar Demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Procura le version complete</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Mundar</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>secundas</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutas</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restante</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Obtener le version complete</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%1 discargate in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Discarga terminate</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n discarga(s)</numerusform><numerusform>%n discarga(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Cambia le localisation...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Selige le localisation de discarga</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Le localisation de discarga esseva cambiate.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>A discargar a: %1</translation>
     </message>
         <translation>Discargas</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>A cercar...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Cercar</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Monstrar %1 plus</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Il ha nulle videos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Il non ha plus de videos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>S&amp;altar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Saltar al proxime video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausar le reproduction</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Schermo plen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Vader a schermo plen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mover in &amp;alto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mover a &amp;basso</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Quitar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Adeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Sito &amp;web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 in le web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Super</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Info super %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Cercar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Sin sono</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Discargas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Monstrar detalios super le discargas de videos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Discarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Discarga le video actual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Compartir le video currente usante %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-posta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-posta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Clauder</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Flottar in alto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stoppar depost de iste video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>&amp;Reportar un problema...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
+        <translation>&amp;Affinar le cerca...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Plus...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Application</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Comprar %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reproduction</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>Lista de re&amp;production</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Vider</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Adjuta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>A aperir %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Claude e cancella le discarga</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Attende que le discarga fini</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Quita le &amp;schermo plen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 version %2 es ora disponibile.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Rememora me plus tarde</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Pro obtener le version actualisate, discarga novemente %1 ab le ligamine que tu recipeva per e-posta e reinstalla lo.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualisar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Retroceder al tracia previe</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Modo compacte</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Aperir le pagina de &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar le &amp;ligamine de YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <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="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Cercar &amp;partes de video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Mundar le recercas recente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Face un &amp;donation</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Initiar le reproduction &amp;manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Initiar manualmente le reproduction de videos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Selige le loco de contento</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>Re&amp;producer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Resumer reproduction</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tempore restante: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volumine a %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Sin sono</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Con sono</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Definition maxime de video: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Ora tu intimitate es secur </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Discargas complete</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
-        <translation type="unfinished"/>
+        <translation>parte</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation type="unfinished"/>
+        <translation>episodio</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Inviate ab %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Procura le version complete</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>A discargar %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Error de rete: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 ora es disponibile. Tu ha %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Rememora me plus tarde</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Installar actualisation</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 visualisationes</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>A preparar</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Fallite</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Complete</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Stoppate</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Stoppar le discarga</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Monstrar in %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Recomenciar le discarga</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>A cercar...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Monstrar %1 plus</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Nulle video</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>In non ha plus de videos</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
-        <translation type="unfinished"/>
+        <translation>Ordinar per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
-        <translation type="unfinished"/>
+        <translation>Vider le contator</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Hodie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dies</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duration</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Omne</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
-        <translation type="unfinished"/>
+        <translation>Curte</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
-        <translation type="unfinished"/>
+        <translation>Medie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Longe</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Minus de 4 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Inter 4 e 20 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Plus de 20 minutas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Qualitate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
-        <translation type="unfinished"/>
+        <translation>Alte definition</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
-        <translation type="unfinished"/>
+        <translation>720p o plus</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Facite</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>Facite</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Procura le version complete</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una parola clave</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>pro comenciar a reguardar le videos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Reguardar</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Parolas-clave recente</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canales recente</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Retro</translation>
+    </message>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Face te ipse confortabile</translation>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
-        <translation type="unfinished"/>
+        <translation>Affinar le cerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
+        <translation>Tu voleva dicer: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Le plus compartite</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Le plus discutite</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Error de rete: %1 pro %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Tote le mundo</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/id.ts b/locale/id.ts
deleted file mode 100644 (file)
index 9c5d024..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="id" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>Hidup diluarnya browser!</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="29"/>
-        <source>Version %1</source>
-        <translation>Version %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <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="34"/>
-        <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="38"/>
-        <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="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, suatu pemutar musik YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, suatu pemutar musik</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <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="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Desain ikon oleh %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Tutup</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Tentang</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Bersih</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Silahkan dilisensi %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Demo ini telah habis masa berlakunya.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Versi lengkap memperbolehkan Anda untuk men-download video lebih dari %1 menit dan untuk menonton video tanpa disela.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Demo ini akan habis masa berlakunya dalam waktu %1 hari.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Dengan membeli versi penuh, Anda juga akan didukung kerja keras Saya letakkan ke dalam kreasi %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Gunakan Demo</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Dapatkan versi penuh</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>bit</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>bit/dtk</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/detik</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/sec</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>detik</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>menit</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 sisanya</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <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="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Teruskan</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Dapatkan versi komplitnya</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Mendownload(s)</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Ganti lokasi...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Pilihlah lokasi unduhan</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Merubah lokasi unduhan.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <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="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Unduhan ke: %1</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>Unduhan</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Play</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pause</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Mainkan/Jeda</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Stop</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Stop playing after current track</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Next track</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Previous track</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Increase volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Decrease volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Mute</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Seek forward</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Seek backward</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Pencarian...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Tampilkan %1 More</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>No videos</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>No more videos</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Gangguan</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Stop</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <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="189"/>
-        <source>S&amp;kip</source>
-        <translation>S&amp;kip</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Skip to the next video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pause</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Pause playback</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Full Screen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Go full screen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Hide the playlist and the toolbar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <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="240"/>
-        <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="247"/>
-        <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="254"/>
-        <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="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Remove</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <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="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Move &amp;Up</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <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="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Move &amp;Down</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <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="286"/>
-        <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="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Cabut</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Selamat tinggal</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Situs web</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 pada Web</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <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="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Tentang</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Info Tentang %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Search</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Bisukan volume</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Unduhan-unduhan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Tampilkan detail tentang unduhan-unduhan video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Unduhan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Unduhan-unduhan video saat ini</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Berbagi video saat ini gunakan %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Surat</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Surat</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Tutup</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Mengambang ke puncak</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;berhenti setelah video ini</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Application</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Beli %1...</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Putarbalik</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Daftar-Main</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Tampak</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Berbagi</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Help</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Membuka %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <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="848"/>
-        <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="853"/>
-        <source>Close and cancel download</source>
-        <translation>Tutup dan membatalkan unduhan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Menunggu unduhannya selesai</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Tinggalkan &amp;Layar Penuh</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 versi %2 sekarang telah tersedia.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
-        <source>Remind me later</source>
-        <translation>Beritahu saya lagi nanti</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Untuk mendapatkan versi terbaru, download %1 lagi dari link yang Anda terima melalui email dan pasangkan ulang.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Pembaruan data</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Error: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>S&amp;ebelumnya</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Kembali lagi ke trek sebelumnya</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Model kompak</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Buka &amp;Halaman YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Salin YouTube &amp;Pintasan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Mencari Video &amp;Perkakas</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Bersihkan Jejak Pencarian</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Buat &amp;Sumbangan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Mulai Memainkan secara Manual</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Mulai memainkan video secara manual</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Play</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Resume playback</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Sisanya waktu: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Volume at %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Volumenya adalah bisu</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Volumenya tidak bisu</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Maksimumnya definisi video set ke %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Privasimu adalah aman sekarang</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Unduhan-unduhan komplit</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <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="554"/>
-        <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="555"/>
-        <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="654"/>
-        <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="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Continue</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <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="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Dikirim dari %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Get the full version</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Downloading %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Network error: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 lihat-lihat</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 of %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Persiapan</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Kesalahan</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Completed</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Stopped</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Berhenti mengunduh</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Tampilkan di %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Open parent folder</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Mengulangi mengunduh</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Search</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Get the full version</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Masukkan</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>sebuah kata kunci</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>a channel</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>to start watching videos.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Watch</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Recent keywords</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Saluran-saluran saat ini</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Make yourself comfortable</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>Cannot get video stream for %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Jaringan sedang error: %1 untuk %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 4b5f523a6c74fbd4cef48169b2f4d6d8612011df..14f3919a987e6b27dc18a1cefa171aec016b8876 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versione %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licenziato a: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un player musicale per YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un player musicale</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Icona disegnata da %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Chiudi</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Informazioni</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Cancella</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Inserisci i dati della tua licenza:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Codice:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Compra %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Questa demo è scaduta.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
         <translation>La versione completa ti permette di scaricare video più lunghi di %1 minuti e di guardare i video senza interruzioni.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Questa demo scadrà in %1 giorni.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Senza una licenza, l&apos;applicazione scadrà in %1 giorni.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Acquistando la versione completa, supporterai anche il lavoro che ho fatto per creare %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Usa la demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Compra la versione completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Inserisci la tua licenza</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Compra una licenza</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Cancella</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>secondi</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuti</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 al termine</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 scaricato in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Download completato</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>1 download</numerusform><numerusform>%n download</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Cambia destinazione...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Scegli la destinazione dei download</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>La destinazione dei download è cambiata.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Scarica in: %1</translation>
     </message>
         <translation>Download</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Download dell&apos;aggiornamento in corso...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Ricerca...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Ricerca</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostra altri %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Trova video e canali per parola chiave</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Nessun video</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Sfoglia</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nessun altro video</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Sfoglia i video per categoria</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Mettiti comodo</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Ferma</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Salta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Salta al prossimo video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Metti in pausa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Schermo intero</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Vai in modalità schermo intero</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Elimina</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Sposta &amp;sopra</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Sposta so&amp;tto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Esci</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Ciao</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Sito &amp;web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 sul Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Supporta lo sviluppo di %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Informazioni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informazioni su %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Cerca</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Disattiva l&apos;audio</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Mostra informazioni sui download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Scarica il video corrente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Condividi il video corrente usando %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Chiudi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Fluttua in alto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Ferma dopo questo video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Segnala un problema...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Raffina la ricerca...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Altro...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>Video &amp;correlati</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Applicazione</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Compra %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Riproduzione</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Condividi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Aiuto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Apertura di %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Chiudi e annulla i download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Aspetta che i download siano completi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Lascia lo &amp;schermo intero</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>E&apos; disponibile %1 versione %2</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Ricordamelo più tardi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Per aggiornare, scarica di nuovo %1 dal link che hai ricevuto per email e installa.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Aggiorna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Errore: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;recedente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Torna alla traccia precedente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Modalità &amp;compatta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Apri la pagina di &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copia il &amp;link a YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <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="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Trova le &amp;parti del video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Cancella le ultime ricerche</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Fai una &amp;donazione</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Riproduzione &amp;manuale</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Inizia a riprodurre i video manualmente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Scegli la località dei contenuti</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Play</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tempo rimanente: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volume al %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Audio disattivato</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Audio attivato</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>La tua privacy è al sicuro</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>I download sono completi</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continua</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Inviato da %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Scarica in: %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Una nuova versione di %1 è disponibile!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 è ora disponibile. Tu hai la %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Vuoi scaricare ora?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Salta questa versione</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Ricordamelo più tardi</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Installa aggiornamento</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Errore di rete: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Incolla</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 visualizzazioni</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 di %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>In preparazione</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Fallito</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Completato</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Fermo</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Interrompi il download</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Mostra nel %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>Mostra nella cartella</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Prova a scaricare di nuovo</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Ricerca...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Mostra altri %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Nessun video</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Nessun altro video</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Ordina per</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Pertinenza</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Visualizzazioni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Voto</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Qualsiasi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Oggi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 giorni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 giorni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Durata</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Tutti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Breve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Media</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Lunga</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Meno di 4 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Tra i 4 e i 20 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Oltre i 20 minuti</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Qualità</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta definizione</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p o maggiore</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Fatto</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation>Fatto</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Compra la versione completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>una parola chiave</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canale</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>per iniziare a guardare i video.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Guarda</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Ultime ricerche</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Ultimi canali</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Mettiti comodo</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Indietro</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Avanza a %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Torna a %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Raffina la ricerca</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Forse cercavi: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Più popolari</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>In primo piano</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Più condivisi</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Più discussi</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Più votati</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Errore di rete: %1 per %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Algeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentina</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgio</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brasile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Canada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Cile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Colombia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Repubblica Ceca</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egitto</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Francia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Germania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Grecia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Ungheria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonesia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Irlanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Israele</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Italia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Giappone</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Giordania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malaysia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Messico</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Marocco</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Olanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Nuova Zelanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Perù</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filippine</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polonia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Russia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudita</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapore</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Sudafrica</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Corea del Sud</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Spagna</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Svezia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunisia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Turchia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Emirati Arabi Uniti</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Regno Unito</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Yemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Tutto il mondo</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/ja_JP.ts b/locale/ja_JP.ts
new file mode 100644 (file)
index 0000000..baddef2
--- /dev/null
@@ -0,0 +1,1476 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ja_JP" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="32"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Webブラウザなしでも大丈夫!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="33"/>
+        <source>Version %1</source>
+        <translation>バージョン %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1はフリーソフトウェアですが、開発には貴重な時間が費やされています。</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="43"/>
+        <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="47"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>私が作った他のアプリケーションにも興味がありますか。</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="50"/>
+        <source>%1, a YouTube music player</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="54"/>
+        <source>%1, a music player</source>
+        <translation>%1, ミュージックプレイヤー</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="60"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>%2を使って、%1をあなたの母語に翻訳してください。</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="65"/>
+        <source>Icon designed by %1.</source>
+        <translation>アイコンは%1さんのデザインです。</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="69"/>
+        <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="84"/>
+        <source>&amp;Close</source>
+        <translation>閉じる(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="17"/>
+        <source>About</source>
+        <translation>プログラムについて</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="19"/>
+        <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 type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>メール(&amp;E):</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>コード(&amp;C):</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
+    </message>
+    <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 type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>デモを使用</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>ライセンスを入力</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>ライセンスを購入</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>クリア</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="322"/>
+        <source>bytes</source>
+        <translation>Bytes</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="325"/>
+        <source>KB</source>
+        <translation>KB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="328"/>
+        <source>MB</source>
+        <translation>MB</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="337"/>
+        <source>bytes/sec</source>
+        <translation>bytes/秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="340"/>
+        <source>KB/sec</source>
+        <translation>KB/秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="343"/>
+        <source>MB/sec</source>
+        <translation>MB/秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="349"/>
+        <source>seconds</source>
+        <translation>秒</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="352"/>
+        <source>minutes</source>
+        <translation>分</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="355"/>
+        <source>%4 %5 remaining</source>
+        <translation>残り %4 %5</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="55"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>これは %1 の試用版です。</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="57"/>
+        <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="63"/>
+        <source>Continue</source>
+        <translation>続ける</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="64"/>
+        <source>Get the full version</source>
+        <translation>製品版を入手する。</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="150"/>
+        <source>%1 downloaded in %2</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="153"/>
+        <source>Download finished</source>
+        <translation type="unfinished"/>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="159"/>
+        <source>%n Download(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="15"/>
+        <source>Change location...</source>
+        <translation>場所を変更...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="47"/>
+        <source>Choose the download location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="59"/>
+        <source>Download location changed.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="61"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="72"/>
+        <source>Downloading to: %1</source>
+        <translation type="unfinished"/>
+    </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>ダウンロード</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <source>Play</source>
+        <translation>再生</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <source>Pause</source>
+        <translation>一時停止</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <source>Play/Pause</source>
+        <translation>再生/一時停止</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <source>Stop</source>
+        <translation>停止</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <source>Stop playing after current track</source>
+        <translation>現在の曲が終わったら停止</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <source>Next track</source>
+        <translation>次の曲</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <source>Previous track</source>
+        <translation>前の曲</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <source>Increase volume</source>
+        <translation>音量を上げる</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <source>Decrease volume</source>
+        <translation>音量を下げる</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <source>Mute</source>
+        <translation>ミュート</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <source>Seek forward</source>
+        <translation>後方へ</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <source>Seek backward</source>
+        <translation>前方へ</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>検索</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>さあリラックスしましょう</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="90"/>
+        <source>Error</source>
+        <translation>エラー</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="213"/>
+        <source>&amp;Stop</source>
+        <translation>ストップ(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="214"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>再生を停止させて、検索ビューに戻ります</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="232"/>
+        <source>S&amp;kip</source>
+        <translation>スキップ(&amp;k)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="233"/>
+        <source>Skip to the next video</source>
+        <translation>次の動画へ</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
+        <source>&amp;Pause</source>
+        <translation>一時停止(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
+        <source>Pause playback</source>
+        <translation>再生を一時停止します</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="246"/>
+        <source>&amp;Full Screen</source>
+        <translation>フルスクリーン(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="247"/>
+        <source>Go full screen</source>
+        <translation>フルスクリーン</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="263"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>プレイリストとツールバーを隠す</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="276"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>一時停止してYouTubeのページを開きます</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="283"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>このビデオのYouTubeページへのリンクをクリップボードにコピーします</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="290"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="297"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="303"/>
+        <source>&amp;Remove</source>
+        <translation>削除(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="304"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>プレイリストから選択した動画を削除</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="310"/>
+        <source>Move &amp;Up</source>
+        <translation>上へ(&amp;U)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="311"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>選択した動画をプレイリスト内で上へ移動させます</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="317"/>
+        <source>Move &amp;Down</source>
+        <translation>下へ(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>選択した動画をプレイリスト内で下へ移動させます</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="329"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>検索履歴を削除します。取り消しは出来ません。</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="334"/>
+        <source>&amp;Quit</source>
+        <translation>終了(&amp;Q)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="337"/>
+        <source>Bye</source>
+        <translation>プログラムを終了</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="341"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Webページへ</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="343"/>
+        <source>%1 on the Web</source>
+        <translation>%1のWebページを開きます</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="349"/>
+        <source>Please support the continued development of %1</source>
+        <translation>%1の開発をサポートしてください!</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>&amp;About</source>
+        <translation>プログラムについて(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="356"/>
+        <source>Info about %1</source>
+        <translation>%1について</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="364"/>
+        <source>Search</source>
+        <translation>検索</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="383"/>
+        <source>Mute volume</source>
+        <translation>ミュートにする</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
+        <source>&amp;Downloads</source>
+        <translation>ダウンロード(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="413"/>
+        <source>Show details about video downloads</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="421"/>
+        <source>&amp;Download</source>
+        <translation>ダウンロード(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="422"/>
+        <source>Download the current video</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="441"/>
+        <source>Share the current video using %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="458"/>
+        <source>&amp;Email</source>
+        <translation>メール(&amp;E)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="459"/>
+        <source>Email</source>
+        <translation>メール</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="463"/>
+        <source>&amp;Close</source>
+        <translation>閉じる(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="473"/>
+        <source>&amp;Float on Top</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="478"/>
+        <source>&amp;Stop After This Video</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="485"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>問題点を報告(&amp;R)...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="489"/>
+        <source>&amp;Refine Search...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
+        <source>&amp;Application</source>
+        <translation>アプリケーション(&amp;A)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Buy %1...</source>
+        <translation>%1 を購入...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>&amp;Playback</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="572"/>
+        <source>&amp;Playlist</source>
+        <translation>プレイリスト(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="581"/>
+        <source>&amp;Video</source>
+        <translation>動画(&amp;V)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="594"/>
+        <source>&amp;View</source>
+        <translation>表示(&amp;V)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="601"/>
+        <source>&amp;Share</source>
+        <translation>共有(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="615"/>
+        <source>&amp;Help</source>
+        <translation>ヘルプ(&amp;H)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="690"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>音量を上げるには%1を、下げるには%2を押してください</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
+        <source>Opening %1</source>
+        <translation>%1を開いています</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <source>Do you want to exit %1 with a download in progress?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="937"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="942"/>
+        <source>Close and cancel download</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="943"/>
+        <source>Wait for download to finish</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1102"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>フルスクリーンモードを終了する(&amp;F)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1475"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 バージョン %2 が利用可能です</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1479"/>
+        <source>Remind me later</source>
+        <translation>あとで通知する</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1480"/>
+        <source>Update</source>
+        <translation>更新</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>Error: %1</source>
+        <translation>エラー: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="222"/>
+        <source>P&amp;revious</source>
+        <translation>前へ(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="223"/>
+        <source>Go back to the previous track</source>
+        <translation>前の曲へ飛びます</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>&amp;Compact Mode</source>
+        <translation>コンパクト モード(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="275"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>YouTube のページを開く(&amp;Y)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="282"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>YouTube のリンクをコピー(&amp;L)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="289"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="296"/>
+        <source>Find Video &amp;Parts</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="324"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>最近の検索を消去(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="348"/>
+        <source>Make a &amp;Donation</source>
+        <translation>寄付する(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="405"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="406"/>
+        <source>Manually start playing videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
+        <source>&amp;Play</source>
+        <translation>再生(&amp;P)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1003"/>
+        <source>Resume playback</source>
+        <translation>再生再開します</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1236"/>
+        <source>Remaining time: %1</source>
+        <translation>残り時間: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1294"/>
+        <source>Volume at %1%</source>
+        <translation>ボリューム%1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1300"/>
+        <source>Volume is muted</source>
+        <translation>音量OFFにしました</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1303"/>
+        <source>Volume is unmuted</source>
+        <translation>音量ONにしました</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1310"/>
+        <source>Maximum video definition set to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1351"/>
+        <source>Your privacy is now safe</source>
+        <translation>プライバシーは保護されています</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Downloads complete</source>
+        <translation>ダウンロード完了</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="553"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>YouTube のリンクを別のアプリケーションに貼り付けることができます</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="561"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="562"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="636"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>これは %1 の試用版です。</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="637"/>
+        <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="667"/>
+        <source>Continue</source>
+        <translation>続ける</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="756"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="768"/>
+        <source>part</source>
+        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="770"/>
+        <source>episode</source>
+        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="847"/>
+        <source>Sent from %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="644"/>
+        <source>Get the full version</source>
+        <translation>製品版を入手する。</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="681"/>
+        <source>Downloading %1</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>このバージョンをスキップ</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>貼り付け</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <source>%1 views</source>
+        <translation>%1回 閲覧</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <source>Preparing</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <source>Failed</source>
+        <translation>失敗</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <source>Completed</source>
+        <translation>完了</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <source>Stopped</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <source>Stop downloading</source>
+        <translation>ダウンロードを停止</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <source>Show in %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <source>Open parent folder</source>
+        <translation>親フォルダーを開く</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <source>Restart downloading</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>検索中...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>さらに%1エントリ観る</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>見つかりませんでした</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>見つかりませんでした</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <source>Sort by</source>
+        <translation>並び順</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <source>Relevance</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <source>Date</source>
+        <translation>日付</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <source>View Count</source>
+        <translation>閲覧回数</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <source>Rating</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <source>Anytime</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>Today</source>
+        <translation>今日</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>7 Days</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <source>30 Days</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <source>Duration</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>All</source>
+        <translation>すべて</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>Short</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>Medium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <source>Long</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <source>Less than 4 minutes</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <source>Longer than 20 minutes</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Quality</source>
+        <translation>品質</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>High Definition</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <source>720p or higher</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>完了</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>検索</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="71"/>
+        <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="50"/>
+        <source>Get the full version</source>
+        <translation>製品版を入手する。</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="85"/>
+        <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"/>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="90"/>
+        <source>a keyword</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="91"/>
+        <source>a channel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="96"/>
+        <source>to start watching videos.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="120"/>
+        <source>Watch</source>
+        <translation>検索</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="138"/>
+        <source>Recent keywords</source>
+        <translation>最近検索したキーワード</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="151"/>
+        <source>Recent channels</source>
+        <translation>最近のチャンネル</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>戻る(&amp;B)</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>%1 に進む</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>%1 に戻る</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <source>Refine Search</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <source>Did you mean: %1</source>
+        <translation>もしかして: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="213"/>
+        <source>Cannot get video stream for %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="231"/>
+        <source>Network error: %1 for %2</source>
+        <translation>ネットワークエラー: %1 (%2へのアクセスにて)</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>アルジェリア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>アルゼンチン</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>オーストラリア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>ベルギー</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>ブラジル</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>カナダ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>チリ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>コロンビア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>チェコ共和国</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>エジプト</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>フランス</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>ドイツ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>ガーナ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>ギリシャ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>香港</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>ハンガリー</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>インド</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>インドネシア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>アイルランド</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>イスラエル</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>イタリア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>日本</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>ヨルダン</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>ケニア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>マレーシア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>メキシコ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>モロッコ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>オランダ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>ニュージーランド</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>ナイジェリア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>ペルー</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>フィリピン</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>ポーランド</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>ロシア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>サウジアラビア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>シンガポール</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>南アフリカ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>韓国</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>スペイン</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>スウェーデン</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>台湾</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>チュニジア</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>トルコ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>ウガンダ</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>アラブ首長国連邦</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>イギリス</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>イエメン</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>全世界</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index 1dfd1ba46bce0f7dcfa300e194c51a4c75b73e10..fe5133443f4058b46ce24ed26bf468c91e615143 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Ningkene yoiku urip ning njobone browser!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versi %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 yoiku Software bebas tapi pangembangane iku mbutuhake wektu sing berhargo.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
         <translation>Sumonggo &lt;a href=&apos;%1&apos;&gt;Nyumbang&lt;/a&gt; kanggo ndukung kelanjutane pangembangane seko %2.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Njenengan mungkinwae pingin nyobi aplikasiku liyane jua:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, sakwijining YouTube nggonyetel musik</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, sakwijining penyetelan musik</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Terjemahke %1 ring boso aslimu gunakno %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ndesain ikon oleh %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
         <translation>Dirilis nok ngisore the &lt;a href=&apos;%1&apos;&gt;GNU Pusate Lisensine Publik&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Tutup</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Seputarane</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Opo sing kowe slalu kepingin kanggo ngreteni sekitarane %1 lan oratau wani kanggo takon</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Resik</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Sumonggo lisensi %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Iki demo yo wis enthek.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Versi lengkap mungkinake sampeyan ngunduhi video luwih suwi seko %1 menit lan nggo nonton video tanpo intrupsi.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Iki demone arep enthek ing %1 dino.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Thek tuku versi lengkap, njenengan pingin ugo kadukung karo kerjokeras Kulo dalehi ing njeroning kreasi %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Gunakke Demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Entukno versi komplite</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Resik</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bit</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bit/detik</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/detik</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/detik</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>detik</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>menit</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 sisone</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>Iki yoiku mung versi demo seko %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <source>It can only download videos shorter than %1 minutes so you can test the download functionality.</source>
         <translation>Iku isone mung ngunduh video sing cekak sekokaro %1 menit sahinggo kowe iso ngetest fungsinane unduhane.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Terusno</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Enthukno versi komplite</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ngunduhe ing %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Ngunduhe wislebar</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Ngunduh-unduh(s)</numerusform><numerusform>%n Ngunduh(s)</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>ngGanti lokasi...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Mileho lokasine unduhan</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Lokasi ngunduhe diganti.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Downloadte sing sakiki iseh arep mlebu ning lokasi sakdurunge.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Ngunduhi reng: %1</translation>
     </message>
         <translation>Ngunduh-unduh</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>ngGoleki...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Nelusuri</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Kethok %1 Luwih</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Ogak video</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Gakono video m&apos;eneh</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Mandheg</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Mandheg playback lan mbalik ning tampilan ngGo ngGoleki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>S&amp;kip</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Lewati reng video saklanjute</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Lheren</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Lheren sedhelok pemutarane</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Layar Kebak</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Ing Layar Kebak </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ndhelikno playlist lan toolbar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Lungo Ing halamane video YouTube land nglereni penyetelan</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Njiplak link-nge video YouTube sing sakiki ning clipboard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Njiplak video stream URL sing sakiki ning clipboard</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>nggoleki seri video liyone diharapno ing order sing bener</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;ngGuwak</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>ngGuwak video sing diseleksi seko playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mindah &amp;Unggah</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mindahno menduwur video sing diseleksi ning playlistt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mindah &amp;Mudhun</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mindahno mengisor video sing diseleksi ning daftar-nyetel</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Ngresiki riwayate penelusuran. Ora iso di balikake.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Medhal</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Bye</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 nok the Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Sumonggo ndukungo kelanjutane pangembangane seko %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Tentange</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Info sakitarane %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Nelusuri</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>mBisukno volumene</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;nDownloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Tampilno detaile sak kitarane unduhan-unduhane video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;nDownload</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Ngunduhi video sing saat iki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>ngeshare video ketuang keenggo %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Layanginternet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Layanginternet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Tutup</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Ngambang ing Pucuk</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Mandek Sakwise Video Iki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Laporke sakwijining Isu...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Nyaring Penggolekan...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Applikasi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Tuku %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Mbaliknyetel</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Daftar-nyetel</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;nDelok</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Ngedumi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Nulung</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pejhet %1 kanggo ningkatno volume, %2 kanggo ngrendahno iku</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Mbukak&apos;i %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Opo kowe pingin metu %1 karo sakwijine unduhan sing isih mlaku prosese?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Tek kowe nutup %1 sakiki, ngunduhane iki arep dibatalake.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Tutup lan mbatalake ngunduhine</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Nunggu kanggo unduhane rampung</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Ninggalno &amp;LayarKebak</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versinipun %2 yo disediakno sakniki.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Elingno kulo mengkowae</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Kanggo ngentukake pengayarane versi, unduhmomotan %1 meneh seko turutane receivene panjenengan lewat surat lan ngulang install.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Nganyarke</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Error: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;revious</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Mbaliko meneh ing sakdurunge trekipun</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Mode Praktis</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Mbukak &amp;YouTube Halamane</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Njiplak YouTube &amp;Link</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Njiplak Video Stream &amp;URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Nggoleki Video &amp;Seri</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Ngresiki Penggolekan Sing ketuang</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Nggawe sakwijining &amp;Sumbangan</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Mainke Secoro Manual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Ngawiti maenke video secoro manual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Nyetel</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Nglanjutno nyetel-ulang</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Sisone wektune: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volume nok %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Volume yo Mbisu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Volume yo orak mbisu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksimale video definisine diset ning %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Privasimu yoiku sakiki aman</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Unduhane komplit</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Kowe iso paste YouTube link sakiki ninggone aplikasi liyane</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Kowe sakiki iso paste  video stream URL ninggone aplikasi liyane</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Link-nge kepingin diaslikake mung kanggo sak terbatase wektu.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Iki yoiku mung demo version of %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <source>It allows you to test the application and see if it works for you.</source>
         <translation>Iki diolehno kowe kanggo ngetest aplikasine lan ndeloki tek iku fungsi kanggo kowe.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Nglanjutke</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>seko</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
         <translation>seri</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Kirim seko %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Entukno versi komplite</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Ngunduhi %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Jaringane error: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 Ndeloki</translation>
+        <translation>%1 tampilan</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 of %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Nyiapake</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Gagal</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Komplit</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Mandhekake</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Ngendhekno ngunduhe</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Tampilno ing %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Mbukak map induk</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Ngengulang ngunduhane</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>ngGoleki...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Ora video</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Rak ono video meneh</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Bidik didasarke</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relefan</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Tanggale</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Ndeloki Itungane</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Rating</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Kapanwae</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Dinoiki</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 Ndino</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 Dino</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Durasine</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Kabeh</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Cekak</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Sedengan</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Dowo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Kurang seko 4 menit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Antarane 4 lan 20 menit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Dowone luwih seko 20 menit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Kualitas</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Definisi duwur</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p utowo saknduwure</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Rampung</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <source>Welcome to &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</source>
         <translation>Sugengrawuh kanggo &lt;a href=&apos;%1&apos;&gt;%2&lt;/a&gt;,</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Enthukno versi komplite</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <extracomment>&quot;Enter&quot;, as in &quot;type&quot;. The whole phrase says: &quot;Enter a keyword to start watching videos&quot;</extracomment>
         <translation>Lebokno</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>sakwiji kata-kunci</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>sakwiji saluran</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>kanggo ngawiti nyeksikake video.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Nonton</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Kata-kunci saat iki</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Saluran lagekwae</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>ngGawe awakmu nyaman</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;mBuri</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Nyaring Penggolekane</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Opo sing bekmaksud: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Rak iso ngenthukno video stream kanggo %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Jaringane error: %1 por %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/ka_GE.ts b/locale/ka_GE.ts
deleted file mode 100644 (file)
index eb2277f..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="ka_GE" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>სიცოცხლე ბრაუზერის გარეთ!</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="29"/>
-        <source>Version %1</source>
-        <translation>ვერსია %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 უფასო პროგრამაა, მაგრამ მისი შექმნა ძვირფას დროს მოითხოვს.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="34"/>
-        <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="38"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>თქვენ შეგიძლიათ ცადოთ ჩემი სხვა პროგრამები:</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, Youtube მუსიკალური დამკვრელი</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, მუსიკალური დამკვრელი</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation>გადათარგმნეთ %1 თქვენს მშობლიურ ენაზე %2 -ის გამოყენებით</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>ხატულის ავტორია %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;დახურვა</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>პროგრამის შესახებ</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>რისი ცოდნა გინდოდა %1 -ის შესახებ და ვერ ბედავდი კითხვას</translation>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>გასუფთავება</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>ლიცენზია %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>დემო ვერსიას ვადა გაუვიდა</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>მთლიანი ვერსია საშუალებას გაძლევთ რომ გადმოიწეროთ ვიდეოები გრძელი ვიდრე %1 წუთი და უყროთ ვიდეოებს წყვეტების გარეშე.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>დემო ვესიას ვადა გაუვა %1 დღეში</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>სრული ვერსიის ყიდვისას ასევე დამეხმარებით ჩემს მძიმე მუშაობაში რომელსაც ვასრულებ %1 -ის შექმნისას.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>დემო ვერსიის გამოყენება</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>სრული ვერსიის ყიდვა</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>ბაიტები</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>კბ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>მბ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>ბაიტი/წმ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>კბ/წმ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>მბ/წმ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>წამები</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>წუთები</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>დარჩა %4 %5</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>ეს %1 -ის მხოლოდ დემო ვერსიაა.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>გაგრძელება</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>მთლიანი ვერსიის გადმოწერა</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation type="unfinished"><numerusform></numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>ადგილმდებარეობის შეცვლა</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>მიუთითეთ გადმოწერის ადგილმდებარეობის </translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>გადმოწერის ადგილმდებარეობა შეცვლილია.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>ახლანდელი გადმოწერები ისევ ძველ დირექტორიაში შეინახებიან.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
-        <source>Downloading to: %1</source>
-        <translation>ფაილები ინახება: %1</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>გადმოწერები</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>დაკვრა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>პაუზა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>დაკვრა/პაუზა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>შეჩერება</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>დაკვრის დასრულება ამ სიმღერის შემდეგ.</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>შემდეგი სიმღერა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>წინა სიმღერა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>ხმის აწევა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>ხმის დაწევა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>გაჩუმება</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>წინ გადახვევა</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>უკან გ ადახვევა</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>ვძებნი...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>მანახე კიდევ %1</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>ვიდეოები არ არის</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>მეტი ვიდეოები აღარ არის</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>შეცდომა</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;შეჩერება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>დაკვრის შეჩერება და ძებნის ფორმაში გადასვლა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
-        <source>S&amp;kip</source>
-        <translation>პ&amp;შემდეგი</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>შემდეგ ვიდეოზე გადასვლა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;პაუზა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation> დაკვრის დაპაუზება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;მთლიან ეკრანზე</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>მთლიან  ეკრანზე გაშლა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>ვიდეოების სიის და პანელის დამალვა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>YouTube-ს გვერდზე გადასვლა და დაკვრის შეჩერება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>YouTube-ს ბმულის კოპირება ბუფერში</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>ამ ვიდეო ნაკადის შენახვა ბუფერში</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation>ვიდეოს სხვა ნაწილების მოძებნა სწორი განლაგებით</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;წაშლა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>მონიშნული ვიდეოების სიიდან ამოშლა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>&amp;ზემოთ აწევა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>მონიშნული ვიდეოების გადატანა მაღლა აწევა სიაში</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
-        <source>Move &amp;Down</source>
-        <translation>&amp;ქვემოთ ჩაწევა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>მონიშნული ვიდეოების გადატანა დაბლა დაწევა სიაში</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>ძებნის ისტორიის გასუფთავება. </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;დასრულება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>ნახვამდის</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>&amp;საიტი</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 საიტზე</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <source>Please support the continued development of %1</source>
-        <translation>გთხოვთ მხარი დაუჭიროთ  %1 -ის დეველოპმენტს</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;შესახებ</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>ინფორმაცია %1 შესახებ</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>ძებნა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>გაჩუმება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>$გადმოწერები</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>ვიდეოების გადმოწერების დეტალური ნახვა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;გადმოწერა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>ამ ვიდეოს გადმოწერა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>ვიდეოს გაზიარება %1 -ის გამოყენებით</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;ელფოსტა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>ელფოსტა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;დახურვა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;ზემოთ განთავსება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>ამ ვიდეოს შემდეგ &amp;შეჩერება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;აპლიკაცია</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>იყიდეთ %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;დაკვრა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;ვიდეოების სია</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;ვიდეო</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;ხედი</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;გაზიარება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;დახმარება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>ხმის ასაჭერად დააჭირე ღილაკს %1 და დასაწევად %2</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>იხსნება %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>თქვენ გინდათ დახუროთ %1 გადმოწერის პროცესში?</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>თუ თქვენ დახურავთ %1 -ს, ეს გადმოწერა შეწყდება.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
-        <source>Close and cancel download</source>
-        <translation>დახურვა და გადმოწერის შეწყვეტა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>გადმოწერის დასრულებამდე მოცდა.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>მთლიანი ეკრანის რეჟიმის დატოვება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 ვერსია %2 უკვე ხელმისაწვდომია.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
-        <source>Remind me later</source>
-        <translation>მოგვიანებით შეხსენება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>განახლებული ვერსიი მისარებად, ისევ გადმოიწერეთ %1  ბმულიდან რომელიც მოგივიდათ ელფოსტაზე და გაუკეთეთ რეინსტალაცია.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>განახლება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>შეცდომა: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>პ&amp;წინა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>წინა ბილიკზე დაბრუნება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;კომპაქტური ხედი</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>გახსენი &amp;YouTube-ს გვერდი</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>YouTube-ს &amp;ბმულის დაკოპირება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>ვიდეოს ნაკადის &amp;ბმულის დაკოპირება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>მოძებნე ვიდეოს &amp;ნაწილები</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;გაასუფთავე ბოლო ძებნები</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>&amp;შემოწირულობის გაკეთება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>დაკვრის დაწყება &amp;ხელით  </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>ხელით ვიდეოს დაკვრის დაწყება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;დაკვრა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>დაკვრის გაგრძელება</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>დარჩენილი დრო %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>ხმის სიმაღლე %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>ხმა გამორთულია</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>ხმა ჩართულია</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>ვიდეოს მაქსიმალური გაფართოებაა არის %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>თქვენი პირადი პარამეტრები ახლა უსაფრთხოა</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>გადმოწერები დასრულებულია</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>თქვენ  უკვე შეგიძლიათ ჩასვათ YouTube-ს ბმული სხვა აპლიკაციაში</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="554"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>თქვენ უკვე სეგიძლიად დააკოპიროთ ვიდეოს ბმული სხვა აპლიკაციაში</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="555"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>ეს ბმული ვალიდური იქნება მხოლოდ გარკვეული დროის განმავლობაში.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="654"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>ეს მხოლოდ %1 -ის დემო ვერსიაა.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>გაგრძელება</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation>გან</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>გამოგზავნილია %1 -დან</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>სრული ვერსიის გადმოწერა</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>ვტვირთავ %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>ქსელის შეცდომა: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 ნახვა</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>გადმოწერილია %1 %2 -დან (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>მიმდინარეობს მზადება</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>შეცდომა</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>დასრულებულია</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>შეჩერებულია</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>გადმოწერის შეჩერება</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>ანახე %1 -ში</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>დირექტორიის გახსნა</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>გადმოწერის თავიდან დაწყება</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>ძებნა</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>სრული ვერსიის ყიდვა</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>შეიყვანეთ</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>საკვანძო სიტყვა</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>არხი</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>ვიდეოს ყურების დასაწყებად</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>ყურება</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>ბოლო საკვანძო სიტყვები</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>ბოლო არხები</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>შეიქმენით კომფორტი</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>%1 -ის  ვიდეო ნაკადი მიუწვდომელია</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>ქსელის  შეცდომა: %1 %2 -ზე</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
diff --git a/locale/ky.ts b/locale/ky.ts
new file mode 100644 (file)
index 0000000..873c2fd
--- /dev/null
@@ -0,0 +1,1476 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ky" version="2.0">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name>AboutView</name>
+    <message>
+        <location filename="src/aboutview.cpp" line="32"/>
+        <source>There&apos;s life outside the browser!</source>
+        <translation>Браузердин тышындагы жашоо!</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="33"/>
+        <source>Version %1</source>
+        <translation>Версия %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Лицензияланган: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
+        <source>%1 is Free Software but its development takes precious time.</source>
+        <translation>%1 деген эркин ПК, бирок анын иштетүүсү өтө көп убакытымды алат.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="43"/>
+        <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="47"/>
+        <source>You may want to try my other apps as well:</source>
+        <translation>Сиз менин дагы башка тиркемелеримди карап көрсөңүз болот:</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="50"/>
+        <source>%1, a YouTube music player</source>
+        <translation>%1, YouTube музыка ойноткучу</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="54"/>
+        <source>%1, a music player</source>
+        <translation>%1, музыка ойноткучу</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="60"/>
+        <source>Translate %1 to your native language using %2</source>
+        <translation>%1&apos;ту %2 аркылуу сиздин эне тилиңизге которуу</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="65"/>
+        <source>Icon designed by %1.</source>
+        <translation>Иконканын автору %1.</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="69"/>
+        <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="84"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Жабуу</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="17"/>
+        <source>About</source>
+        <translation>Программа жөнүндө</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.h" line="19"/>
+        <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>Лицензиялык маалыматтарыңызды киргизиңиз</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;E-mail:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Код:</translation>
+    </message>
+</context>
+<context>
+    <name>ActivationView</name>
+    <message>
+        <location filename="local/src/activationview.cpp" line="47"/>
+        <source>Please license %1</source>
+        <translation>Лицензия %1</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="51"/>
+        <source>This demo has expired.</source>
+        <translation>Демострациялоо мөөнөтү бүттү.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="53"/>
+        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
+        <translation>Толук версиясы %1 мүнөттөн көбүрөөк видеолорду жүктөгөнгө жана видеолорду үзгүлтүксүз көргөнгө уруксат берет.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Лицензиясы жок болгон үчүн, тиркеменин мөөнөтү %1 күндөн кийин бүтөт.</translation>
+    </message>
+    <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>Толук версиясын алганда, %1 үчүн оор эмгек салым кылып жатканымды да колдоп бересиз.</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="70"/>
+        <source>Use Demo</source>
+        <translation>Демону колдонуу</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Лицензияны киргизиңиз</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Лицензияны сатып алуу</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Тазалоо</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadItem</name>
+    <message>
+        <location filename="src/downloaditem.cpp" line="322"/>
+        <source>bytes</source>
+        <translation>байт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="325"/>
+        <source>KB</source>
+        <translation>КБ</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="328"/>
+        <source>MB</source>
+        <translation>МБ</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="337"/>
+        <source>bytes/sec</source>
+        <translation>байт/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="340"/>
+        <source>KB/sec</source>
+        <translation>КБ/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="343"/>
+        <source>MB/sec</source>
+        <translation>МБ/сек</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="349"/>
+        <source>seconds</source>
+        <translation>секунда</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="352"/>
+        <source>minutes</source>
+        <translation>мүнөт</translation>
+    </message>
+    <message>
+        <location filename="src/downloaditem.cpp" line="355"/>
+        <source>%4 %5 remaining</source>
+        <translation>%4 %5 калды</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadManager</name>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="55"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Бул программа %1&apos;тун демо-версиясы болот.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="57"/>
+        <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="63"/>
+        <source>Continue</source>
+        <translation>Улантуу</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="64"/>
+        <source>Get the full version</source>
+        <translation>Толук версиясын алуу</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="150"/>
+        <source>%1 downloaded in %2</source>
+        <translation>%1 файлы %2 жерине жүктөлдү</translation>
+    </message>
+    <message>
+        <location filename="src/downloadmanager.cpp" line="153"/>
+        <source>Download finished</source>
+        <translation>Жүктөп алуу аякталды</translation>
+    </message>
+    <message numerus="yes">
+        <location filename="src/downloadmanager.cpp" line="159"/>
+        <source>%n Download(s)</source>
+        <translation type="unfinished"><numerusform></numerusform></translation>
+    </message>
+</context>
+<context>
+    <name>DownloadSettings</name>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="15"/>
+        <source>Change location...</source>
+        <translation>Жүктөө жерин өзгөртүү...</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="47"/>
+        <source>Choose the download location</source>
+        <translation>Жүктөө жерин тандоо</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="59"/>
+        <source>Download location changed.</source>
+        <translation>Жүктөп алуу жери өзгөртүлдү.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="61"/>
+        <source>Current downloads will still go in the previous location.</source>
+        <translation>Кезектеги жүктөөлөр мурунку жеринде сакталат.</translation>
+    </message>
+    <message>
+        <location filename="src/downloadsettings.cpp" line="72"/>
+        <source>Downloading to: %1</source>
+        <translation>Жүктөлүп жаткан жери: %1</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>Жүктөөлөр</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Жаңыртууларды жүктөп алуу...</translation>
+    </message>
+</context>
+<context>
+    <name>GlobalShortcuts</name>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="16"/>
+        <source>Play</source>
+        <translation>Ойнотуу</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="17"/>
+        <source>Pause</source>
+        <translation>Бир азга токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="18"/>
+        <source>Play/Pause</source>
+        <translation>Ойнотуу/Бир азга токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="19"/>
+        <source>Stop</source>
+        <translation>Токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="20"/>
+        <source>Stop playing after current track</source>
+        <translation>Кезектеги жолчодон кийин ойнотууну токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="21"/>
+        <source>Next track</source>
+        <translation>Кийинки жолчо</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="22"/>
+        <source>Previous track</source>
+        <translation>Мурунку жолчо</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="23"/>
+        <source>Increase volume</source>
+        <translation>Катуураак</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="24"/>
+        <source>Decrease volume</source>
+        <translation>Акырыныраак</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="25"/>
+        <source>Mute</source>
+        <translation>Басаңдатуу</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="26"/>
+        <source>Seek forward</source>
+        <translation>Алга түрүү</translation>
+    </message>
+    <message>
+        <location filename="src/globalshortcuts.cpp" line="27"/>
+        <source>Seek backward</source>
+        <translation>Артка түрүү</translation>
+    </message>
+</context>
+<context>
+    <name>HomeView</name>
+    <message>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Издөө</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Ачкыч сөз менен видеолорду жана каналдарды табыңыз</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Сереп</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Видеолорду категория боюнча кароо</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Өз үйүңүздөгүдөй болуңуз</translation>
+    </message>
+</context>
+<context>
+    <name>LoadingWidget</name>
+    <message>
+        <location filename="src/loadingwidget.cpp" line="90"/>
+        <source>Error</source>
+        <translation>Ката</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="src/mainwindow.cpp" line="213"/>
+        <source>&amp;Stop</source>
+        <translation>&amp;Токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="214"/>
+        <source>Stop playback and go back to the search view</source>
+        <translation>Ойнотууну токтотуп издөө көрүнүшүнө кайтуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="232"/>
+        <source>S&amp;kip</source>
+        <translation>&amp;Өткөрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="233"/>
+        <source>Skip to the next video</source>
+        <translation>Кийинки видеого өтүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
+        <source>&amp;Pause</source>
+        <translation>&amp;Бир азга токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
+        <source>Pause playback</source>
+        <translation>Ойнотууну бир азга токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="246"/>
+        <source>&amp;Full Screen</source>
+        <translation>&amp;Толук экран</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="247"/>
+        <source>Go full screen</source>
+        <translation>Толук экран режимине өтүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="263"/>
+        <source>Hide the playlist and the toolbar</source>
+        <translation>Ойнотуу тизмесин жана аспап панелин жашыруу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="276"/>
+        <source>Go to the YouTube video page and pause playback</source>
+        <translation>Видеонун YouTube барагына өтүү жана ойнотууну бир азга токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="283"/>
+        <source>Copy the current video YouTube link to the clipboard</source>
+        <translation>Кезектеги видеонун YouTube шилтемесин алмашуу буферине көчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="290"/>
+        <source>Copy the current video stream URL to the clipboard</source>
+        <translation>Кезектеги видео агымдын дарегин алмашуу буферине көчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="297"/>
+        <source>Find other video parts hopefully in the right order</source>
+        <translation>Видеонун башка бөлүктөрүн үмүт кылып туура ирети менен табуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="303"/>
+        <source>&amp;Remove</source>
+        <translation>&amp;Өчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="304"/>
+        <source>Remove the selected videos from the playlist</source>
+        <translation>Тандалган видеолорду ойнотуу тизмесинен өчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="310"/>
+        <source>Move &amp;Up</source>
+        <translation>&amp;Өйдө</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="311"/>
+        <source>Move up the selected videos in the playlist</source>
+        <translation>Тандалган видеолорду ойнотуу тизмесинен өйдө жылдыруу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="317"/>
+        <source>Move &amp;Down</source>
+        <translation>&amp;Ылдый</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="318"/>
+        <source>Move down the selected videos in the playlist</source>
+        <translation>Тандалган видеолорду ойнотуу тизмесинен ылдый жылдыруу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="329"/>
+        <source>Clear the search history. Cannot be undone.</source>
+        <translation>Издөө тарыхын тазалоо. Өзгөртүүлөр кайталанбас.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="334"/>
+        <source>&amp;Quit</source>
+        <translation>&amp;Чыгуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="337"/>
+        <source>Bye</source>
+        <translation>Кош болуңуз</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="341"/>
+        <source>&amp;Website</source>
+        <translation>&amp;Веб-сайт</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="343"/>
+        <source>%1 on the Web</source>
+        <translation>%1 интернетте</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="349"/>
+        <source>Please support the continued development of %1</source>
+        <translation>%1&apos;дун мындан аркы иштетүүсүн колдоп бериңиз</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="354"/>
+        <source>&amp;About</source>
+        <translation>Программа &amp;жөнүндө</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="356"/>
+        <source>Info about %1</source>
+        <translation>%1 жөнүндө маалымат</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="364"/>
+        <source>Search</source>
+        <translation>Издөө</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="383"/>
+        <source>Mute volume</source>
+        <translation>Үндү өчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
+        <source>&amp;Downloads</source>
+        <translation>&amp;Жүктөөлөр</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="413"/>
+        <source>Show details about video downloads</source>
+        <translation>Видео жүктөөлөрү жөнүндө кошумча маалымат көрсөтүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="421"/>
+        <source>&amp;Download</source>
+        <translation>&amp;Жүктөп алуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="422"/>
+        <source>Download the current video</source>
+        <translation>Кезектеги видеону жүктөп алуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="441"/>
+        <source>Share the current video using %1</source>
+        <translation>Кезектеги видеону %1 аркылуу бөлүшүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="458"/>
+        <source>&amp;Email</source>
+        <translation>&amp;E-mail</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="459"/>
+        <source>Email</source>
+        <translation>E-mail</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="463"/>
+        <source>&amp;Close</source>
+        <translation>&amp;Жабуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="473"/>
+        <source>&amp;Float on Top</source>
+        <translation>Үстүнөн &amp;калкытуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="478"/>
+        <source>&amp;Stop After This Video</source>
+        <translation>Бул видеодон кийин &amp;токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="485"/>
+        <source>&amp;Report an Issue...</source>
+        <translation>Ката жөнүндө &amp;маалымдоо...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="489"/>
+        <source>&amp;Refine Search...</source>
+        <translation>Издөөнү &amp;тактоо...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Дагы...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>&amp;Байланыштуу видеолор</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Кезектегиге байланыштуу видеону көрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
+        <source>&amp;Application</source>
+        <translation>&amp;Тиркеме</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="515"/>
+        <source>Buy %1...</source>
+        <translation>%1&apos;ту сатып алуу...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="558"/>
+        <source>&amp;Playback</source>
+        <translation>&amp;Ойнотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="572"/>
+        <source>&amp;Playlist</source>
+        <translation>Ойнотуу &amp;тизмеси</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="581"/>
+        <source>&amp;Video</source>
+        <translation>&amp;Видео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="594"/>
+        <source>&amp;View</source>
+        <translation>&amp;Көрүнүш</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="601"/>
+        <source>&amp;Share</source>
+        <translation>&amp;Бөлүшүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="615"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Жардам</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="690"/>
+        <source>Press %1 to raise the volume, %2 to lower it</source>
+        <translation>Катуулукту чоңойтуу үчүн %1 басыңыз жана кичирейтүү үчүн %2</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
+        <source>Opening %1</source>
+        <translation>%1 ачуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="936"/>
+        <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="937"/>
+        <source>If you close %1 now, this download will be cancelled.</source>
+        <translation>Эгер сиз %1&apos;ту азыр жапсаңыз, бул жүктөп алуу жокко чыгарылат.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="942"/>
+        <source>Close and cancel download</source>
+        <translation>Жабуу жана жүктөп алууну жокко чыгаруу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="943"/>
+        <source>Wait for download to finish</source>
+        <translation>Жүктөп алуунун аяктоосун күтүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1102"/>
+        <source>Leave &amp;Full Screen</source>
+        <translation>&amp;Толук экран режиминен чыгуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1475"/>
+        <source>%1 version %2 is now available.</source>
+        <translation>%1 версия %2 азыркы кезде колго жетердик.</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1479"/>
+        <source>Remind me later</source>
+        <translation>Кечирээк эске салуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1480"/>
+        <source>Update</source>
+        <translation>Жаңыртуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="982"/>
+        <source>Error: %1</source>
+        <translation>Ката: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="222"/>
+        <source>P&amp;revious</source>
+        <translation>&amp;Мурунку</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="223"/>
+        <source>Go back to the previous track</source>
+        <translation>Мурунку жолчого кайтуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="262"/>
+        <source>&amp;Compact Mode</source>
+        <translation>&amp;Компакт режими</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="275"/>
+        <source>Open the &amp;YouTube Page</source>
+        <translation>&amp;YouTube барагын ачуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="282"/>
+        <source>Copy the YouTube &amp;Link</source>
+        <translation>YouTube &amp;шилтемесин көчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="289"/>
+        <source>Copy the Video Stream &amp;URL</source>
+        <translation>Видео агымдын &amp;шилтемесин көчүрүү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="296"/>
+        <source>Find Video &amp;Parts</source>
+        <translation>Видео &amp;фрагменттерди табуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="324"/>
+        <source>&amp;Clear Recent Searches</source>
+        <translation>Соңку издөөлөрдү &amp;тазалоо</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="348"/>
+        <source>Make a &amp;Donation</source>
+        <translation>&amp;Тартуу кылуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="405"/>
+        <source>&amp;Manually Start Playing</source>
+        <translation>Ойнотууну &amp;кол менен баштатуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="406"/>
+        <source>Manually start playing videos</source>
+        <translation>Видео ойнотууну кол менен баштатуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Мазмундун турган жерин тандаңыз</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
+        <source>&amp;Play</source>
+        <translation>&amp;Ойнотуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1003"/>
+        <source>Resume playback</source>
+        <translation>Ойнотууну улантуу</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1236"/>
+        <source>Remaining time: %1</source>
+        <translation>Калган убакыт: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1294"/>
+        <source>Volume at %1%</source>
+        <translation>Катуулук %1%</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1300"/>
+        <source>Volume is muted</source>
+        <translation>Үн өчүрүлдү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1303"/>
+        <source>Volume is unmuted</source>
+        <translation>Үн күйгүзүлдү</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1310"/>
+        <source>Maximum video definition set to %1</source>
+        <translation>Видеонун чечиминин жогорку чеги: %1</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1351"/>
+        <source>Your privacy is now safe</source>
+        <translation>Жашырындуулугуңуз камсыздалды</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1366"/>
+        <source>Downloads complete</source>
+        <translation>Жүктөп алуу аякталды</translation>
+    </message>
+</context>
+<context>
+    <name>MediaView</name>
+    <message>
+        <location filename="src/mediaview.cpp" line="553"/>
+        <source>You can now paste the YouTube link into another application</source>
+        <translation>Эми сиз видеонун YouTube шилтемесин башка тиркемеге коё аласыз</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="561"/>
+        <source>You can now paste the video stream URL into another application</source>
+        <translation>Сиз эми азыр видео агымдын дарегин башка тиркемеге сала аласыз</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="562"/>
+        <source>The link will be valid only for a limited time.</source>
+        <translation>Чакан убакытка чейин гана шилтеме анык болот.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="636"/>
+        <source>This is just the demo version of %1.</source>
+        <translation>Бул программа %1&apos;тун демо-версиясы болот.</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="637"/>
+        <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="667"/>
+        <source>Continue</source>
+        <translation>Улантуу</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="756"/>
+        <source>of</source>
+        <comment>Used in video parts, as in '2 of 3'</comment>
+        <translation>/</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="768"/>
+        <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="770"/>
+        <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="847"/>
+        <source>Sent from %1</source>
+        <translation>%1 жеринен жөнөтүү</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="644"/>
+        <source>Get the full version</source>
+        <translation>Толук версиясын алуу</translation>
+    </message>
+    <message>
+        <location filename="src/mediaview.cpp" line="681"/>
+        <source>Downloading %1</source>
+        <translation>%1 жүктөп алуу</translation>
+    </message>
+</context>
+<context>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>%1&apos;дун жаңы версиясы жеткиликтүү!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 азыр жеткиликтүү. Сизде %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Азыр жүктөп алгыңыз келеби?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Бул версияны өткөрүү</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Кечирээк эске салуу</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Жаңыртууларды орнотуу</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Коюу</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
+        <source>%1 views</source>
+        <translation>%1 көрүү</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
+        <source>%1 of %2 (%3) — %4</source>
+        <translation>%1/%2 (%3) — %4</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
+        <source>Preparing</source>
+        <translation>Даярдоо</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
+        <source>Failed</source>
+        <translation>Ката</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
+        <source>Completed</source>
+        <translation>Аякталды</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
+        <source>Stopped</source>
+        <translation>Токтотулду</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
+        <source>Stop downloading</source>
+        <translation>Жүктөп алууну токтотуу</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
+        <source>Show in %1</source>
+        <translation>%1 жеринен көрсөтүү</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
+        <source>Open parent folder</source>
+        <translation>Эне каталогун ачуу</translation>
+    </message>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
+        <source>Restart downloading</source>
+        <translation>Жүктөп алууну кайта баштатуу</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Издөө...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Дагы көрсөтүү %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Видеолор жок</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Дагы видеолор жок</translation>
+    </message>
+</context>
+<context>
+    <name>RefineSearchWidget</name>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <source>Sort by</source>
+        <translation>Сорттоо ыкмасы</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
+        <source>Relevance</source>
+        <translation>Релеванттуулук</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <source>Date</source>
+        <translation>Дата</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
+        <source>View Count</source>
+        <translation>Көрүү саны</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
+        <source>Rating</source>
+        <translation>Рейтинг</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
+        <source>Anytime</source>
+        <translation>Каалаган убакыт</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
+        <source>Today</source>
+        <translation>Бүгүн</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
+        <source>7 Days</source>
+        <translation>7 күн</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
+        <source>30 Days</source>
+        <translation>30 күн</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
+        <source>Duration</source>
+        <translation>Узундук</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <source>All</source>
+        <translation>Баары</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
+        <source>Short</source>
+        <translation>Кыска</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <source>Medium</source>
+        <translation>Орточо</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <source>Long</source>
+        <translation>Узун</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
+        <source>Less than 4 minutes</source>
+        <translation>4 мүнөттөн кыскараак</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
+        <source>Between 4 and 20 minutes</source>
+        <translation>4 менен 20 мүнөттүн арасынан</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
+        <source>Longer than 20 minutes</source>
+        <translation>20 мүнөттөн көбүрөөк</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <source>Quality</source>
+        <translation>Сапат</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
+        <source>High Definition</source>
+        <translation>Жогорку чечим</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
+        <source>720p or higher</source>
+        <translation>720p же чоңураак</translation>
+    </message>
+    <message>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Даяр</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>Даяр</translation>
+    </message>
+</context>
+<context>
+    <name>SearchLineEdit</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="177"/>
+        <source>Search</source>
+        <translation>Издөө</translation>
+    </message>
+</context>
+<context>
+    <name>SearchView</name>
+    <message>
+        <location filename="src/searchview.cpp" line="71"/>
+        <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="50"/>
+        <source>Get the full version</source>
+        <translation>Толук версиясын сатып алуу</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="85"/>
+        <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="90"/>
+        <source>a keyword</source>
+        <translation>ачкыч сөз</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="91"/>
+        <source>a channel</source>
+        <translation>канал</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="96"/>
+        <source>to start watching videos.</source>
+        <translation>менен табып көрүү.</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="120"/>
+        <source>Watch</source>
+        <translation>Көрүү</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="138"/>
+        <source>Recent keywords</source>
+        <translation>Соңку ачкыч сөздөр</translation>
+    </message>
+    <message>
+        <location filename="src/searchview.cpp" line="151"/>
+        <source>Recent channels</source>
+        <translation>Соңку каналдар</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Артка</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>%1 алга</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>%1 кайтуу</translation>
+    </message>
+</context>
+<context>
+    <name>SidebarWidget</name>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
+        <source>Refine Search</source>
+        <translation>Издөөнү тактоо</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
+        <source>Did you mean: %1</source>
+        <translation>Муну болжогон жоксузбу: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Эң популярдуу</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Тандалмалар</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Көп бөлүшкөндөр</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Көп талкуулангандар</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Мыктылар</translation>
+    </message>
+</context>
+<context>
+    <name>Video</name>
+    <message>
+        <location filename="src/video.cpp" line="213"/>
+        <source>Cannot get video stream for %1</source>
+        <translation>%1 үчүн видео агымды алуу оңунан чыккан жок</translation>
+    </message>
+    <message>
+        <location filename="src/video.cpp" line="231"/>
+        <source>Network error: %1 for %2</source>
+        <translation>Тармак катасы: %1 %2 үчүн</translation>
+    </message>
+</context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Алжир</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Аргентина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Австралия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Белгия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Бразилия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Канада</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Чили</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Колумбия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Чехия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Египт</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Франция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Германия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Гана</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Греция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Гонконг</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Венгрия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>Индия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Индонезия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Ирландия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Израиль</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Италия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Япония</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Иордан</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Кения</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Малайзия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Мексика</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Марокко</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Нидерланддар</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Жаңы Зеландия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Нигерия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Перу</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Филиппиндер</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Польша</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Орусия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Сауд Аравиясы</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Сингапур</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Түштүк Африка</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Түштүк Корея</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Испания</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Швеция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Тайвань</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Тунис</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Түркия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Уганда</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Бириккен Араб Эмираттары</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Улуу Британия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Йемен</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Бүткүл дүйнөлүк</translation>
+    </message>
+</context>
+</TS>
\ No newline at end of file
index a1e18571258d6747cae3a1ff59632bb77f470698..36aa566988ea4b7b6aecf3b6761ecc54057cd045 100644 (file)
@@ -4,7 +4,7 @@ INCLUDEPATH += $$PWD
 DEPENDPATH += $$PWD
 
 # ls -1 *.ts | tr '\n' ' '
-TRANSLATIONS += ar.ts ca.ts ca_ES.ts da.ts de_DE.ts el.ts en.ts es.ts es_AR.ts es_ES.ts fi.ts fi_FI.ts fr.ts gl.ts he_IL.ts hr.ts hu.ts ia.ts id.ts it.ts jv.ts ka_GE.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 sr.ts sv_SE.ts tr.ts uk_UA.ts zh_CN.ts 
+TRANSLATIONS += ar.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 fi.ts fi_FI.ts fr.ts he_IL.ts hr.ts hu.ts ia.ts it.ts ja_JP.ts jv.ts ky.ts nl.ts pl.ts pl_PL.ts pt_BR.ts ro.ts ru.ts sk.ts sl.ts tr.ts zh_CN.ts 
 isEmpty(QMAKE_LRELEASE) {
     win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
     else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
diff --git a/locale/nb.ts b/locale/nb.ts
deleted file mode 100644 (file)
index e689b63..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="nb" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <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="29"/>
-        <source>Version %1</source>
-        <translation>Versjon %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <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="34"/>
-        <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="38"/>
-        <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="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, en musikkspiller for YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, en musikkspiller</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <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="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Ikonet er designet av %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Steng</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Om</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Nullstill</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Vennligst lisensier %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Demoen er utløpt.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Fullversjonen lar deg laste ned videoer lenger enn %1 minutt og se videoer uten avbrytelser.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Demoen utløper om %1 dager.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Ved å kjøpe fullversjonen, støtter du det harde arbeidet som ble lagt inn i å skape %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Bruk demoen</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Kjøp fullversjonen</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>bytes</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>bytes/sek</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/sek</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/sek</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>sekunder</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>minutter</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 gjenstår</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <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="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Fortsett</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Kjøp fullversjonen</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n nedlasting</numerusform><numerusform>%n nedlastinger</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Endre sted ...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Velg nedlastingsmappe</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Nedlastingsmappe endret.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <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="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Laster ned til: %1</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>Nedlastinger</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Spill av</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pause</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Spill av/Pause</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Stopp</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Stopp avspilling etter denne videoen.</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Neste video</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Forrige video</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Øk lydvolumet</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Senk lydvolumet</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Lydløs</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Søk forover</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Søk bakover</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Søker...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Vis %1 flere</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Ingen videoer</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Ingen flere videoer</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Feil</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Stopp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <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="189"/>
-        <source>S&amp;kip</source>
-        <translation>&amp;Hopp over</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Hopp til neste video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pause</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Sett avspilling på pause</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Fullskjerm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Fullskjermsvisning</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Gjem spillelista og verktøylinja</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <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="240"/>
-        <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="247"/>
-        <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="254"/>
-        <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="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Fjern</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Fjern valgte videoer fra spillelista</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Flytt &amp;opp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <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="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Flytt &amp;Ned</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <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="286"/>
-        <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="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Avslutt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Farvel</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Nettsted</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 på internett</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <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="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Om</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Informasjon om %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Søk</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Lydløs</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Nedlastinger</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Vis detaljer om nedlasting av video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Nedlasting</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Last ned denne videoen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Del denne videoen med %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Epost</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Epost</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Steng</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Vis over andre</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Stopp etter denne videoen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>Applikasjon</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Kjøp %1 …</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Avspilling</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Spilleliste</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Visning</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Del</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjelp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Åpner %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <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="848"/>
-        <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="853"/>
-        <source>Close and cancel download</source>
-        <translation>Steng og avbryt nedlastingen </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Vent mens nedlastingen fullføres</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Forlat &amp;Full Skjerm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <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="1377"/>
-        <source>Remind me later</source>
-        <translation>Minn meg på det senere</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Last ned %1 igjen fra lenken du fikk via epost for å få den oppdaterte versjone, og installer så på nytt.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Oppdater</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Feil: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>&amp;Forrige</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Gå til forrige spor</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Kompakt modus</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Åpne siden på &amp;YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopier &amp;lenken til YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <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="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Finn &amp;deler av videoen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>T&amp;øm siste søk</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Gi en &amp;donasjon</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>Start avspillingen &amp;manuelt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Spill av videoer manuelt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Spill av</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Gjenoppta avspilling</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Gjenstående tid: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Volum %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Lydløst er på</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Lydløst er av</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Maksimum video definisjon innstilling til %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Ditt privatliv er nå sikkert</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Nedlastinger fullført</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <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="554"/>
-        <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="555"/>
-        <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="654"/>
-        <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="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Fortsett</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <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="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Sent fra %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Kjøp fullversjonen</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Nedlasting %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Feil på nettverk: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 visninger</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 av %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Forbereder</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Feilet</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Fullført</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Stoppet</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Stop nedlasting</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Vis i %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Åpne vertsmappen</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Start nedlastingen på nytt</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Søk</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Kjøpfullversjon</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Skriv</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>ett nøkkelord</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>en kanal</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>for å begynne avspilling av video</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Se</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Seneste søkeord</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Seneste kanaler</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Finn deg til rette</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <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="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Feil på nettverk: %1 for %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index f55cef7a9aba10294e817a5c4bf17ed82e556455..563ae0e2ee4b1ab3808f1c5947fe61136d5b6ca9 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versie %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, een YouTube-muziekspeler</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, een muziekspeler</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Pictogram ontworpen door %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Sluit</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Over</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Wis</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Licenceer alstublieft  %1</translation>
+        <translation>Alstublieft, Licenceer  %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Deze demo is verlopen.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>De volledige versie zal het mogelijk maken om video&apos;s langer dan %1 minuten te bekijken zonder onderbrekingen.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Deze demo zal binnen %1 dagen verlopen.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Door dit produkt te kopen beloont u mij voor het harde werk dat ik geïnvesteerd heb in het maken van %1.</translation>
+        <translation>Door dit produkt te kopen beloon je mij voor het harde werk dat ik geïnvesteerd heb in het maken van %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Gebruik demo</translation>
+        <translation>Gebruik de demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Verkrijg de volledige versie</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Wis</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>seconden</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minuten</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 resterend</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Ga door</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 gedownload in %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Download greed</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Verander locatie...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Kies de downloadlocatie</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Downloadlocatie aangepast.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Downloaden naar:%1</translation>
     </message>
         <translation>Downloads</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Bezig met zoeken...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Zoek</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Laat %1 meer zien</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Geen video&apos;s</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Geen video&apos;s meer</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Sla over</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Spoel door naar de volgende vieo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauzeer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pauzeer afspelen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Schakel over naar Volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Verberg de afspeellijst en de werkbalk</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Verwijder</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Verplaats &amp;omhoog</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Verplaats &amp;omlaag</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sluit af</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Tot ziens</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 op het internet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Over</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informatie over %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Zoek</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Demp volume</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Geef details weer van videodownloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Download de huidige video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Sluit</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Zweef erboven</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Stop na deze video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Rapporteer een Probleem...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Verfijn Zoekopdracht...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Programma</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Koop %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Afspeelopties</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Afspeellijst</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Weergave</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Deel</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Help</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Bezig met openen van %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Sluit en annuleer het downloaden</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Wacht tot het downloaden is voltooid</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Verlaat &amp;volledig scherm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versie %2 nu beschikbaar.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Herinner mij later</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Om de nieuwste versie te verkrijgen. download %1 opnieuw via de link in de e-mail en herinstalleer.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Werk bij</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Fout: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>V&amp;orige</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Ga terug naar het vorige nummer</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Compacte modus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Open de &amp;Youtube-pagina</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopieer de YouTube-&amp;link</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopieer de videostream-&amp;URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Vind video&amp;fragmenten</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Wis recente zoekopdrachten</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Geef een &amp;donatie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Speel handmatig af</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Speel handmatig video&apos;s af</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Speel af</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Hervat afspelen</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Resterende tijd: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volume op %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Volume is gedempt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Volume is niet gedempt</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maximale videokwaliteit staat op %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Uw privacy is nu gewaarborgd</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Downloads afgerond</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Ga door</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Verstuurd vanaf %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Bezig met downloaden van %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Netwerkfout: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 bekeken</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 van %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Bezig met voorbereiden</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Mislukt</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Afgerond</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Gestopt</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Stop het downloaden</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Toon in %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Open oudermap</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Herstart downloaden</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Bezig met zoeken...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Geen video&apos;s</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sorteer op</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevantie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Weergaven</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Waardering</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Elke Periode</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Vandaag</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 Dagen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 Dagen</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duur</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Alles</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Kort</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Gemiddeld</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Lang</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Minder dan 4 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Tussen 4 en 20 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Langer dan 20 minuten</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Kwaliteit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>HD Resolutie </translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p of hover</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Klaar</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Verkrijg de volledige versie</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>een zoekwoord</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>een kanaal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>om te beginnen met het bekijken van video&apos;s.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Bekijk</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Recente zoekwoorden</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Recente kanalen</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Ga er lekker voor zitten</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Terug</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Verfijn Zoekopdracht</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Bedoelde je: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Netwerkfout: %1 voor %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/nn.ts b/locale/nn.ts
deleted file mode 100644 (file)
index 0b6e8ee..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="nn" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <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="29"/>
-        <source>Version %1</source>
-        <translation>Versjon %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <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="34"/>
-        <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="38"/>
-        <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="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, ein musikkspelar for YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, ein musikkspelar</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <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="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Ikonet er utforma av %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Lukk</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Om</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Nullstill</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Ver venleg og lisensier %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Demoen har laupt ut.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Den fullstendige utgåva lar deg lasta ned videoar som er meir enn %1 minutt lange, og lar deg sjå videoar utan avbrot.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Denne demoen lauper ut om %1 dagar.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Ved å kjøpa den fullstendige utgåva, støttar du arbeidet lagt inn i å skapa %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Bruk demoen</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Kjøp fullversjonen</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>byte</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>byte/sek</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/sek</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/sek</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>sekund</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>minutt</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 gjenstår</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <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="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Hald fram</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Kjøp fullversjonen</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n nedlasting</numerusform><numerusform>%n nedlastingar</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Endra stad …</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Vel nedlastingsmappe</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Nedlastingsmappe endra.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <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="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Lastar ned til: %1</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>Nedlastingar</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Spel av</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pause</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Spel av/pause</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Stopp</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Stopp avspelinga etter denne videoen</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Neste video</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Førre video</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Auk lydvolumet</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Senk lydvolumet</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Lydlaus</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Søk framover</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Søk bakover</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Søkjer …</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Vis %1 fleire</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Ingen videoar</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Ingen fleire videoar</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Feil</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Stopp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <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="189"/>
-        <source>S&amp;kip</source>
-        <translation>&amp;Hopp over</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Hopp til neste video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pause</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Set avspeling på pause</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Fullskjerm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Fullskjermvising</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Gøym spelelista og verktøylinja</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <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="240"/>
-        <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="247"/>
-        <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="254"/>
-        <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="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Fjern</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Fjern valde videoar frå spelelista</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Flytt &amp;opp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <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="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Flytt &amp;ned</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <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="286"/>
-        <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="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Avslutt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Farvel</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Nettstad</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 på internett</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <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="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Om</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Informasjon om %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Søk</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Lydlaus</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Nedlastingar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Vis detaljar om videonedlasting</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Nedlasting</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Last ned denne videoen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Del denne videoen med %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Epost</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Epost</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Steng</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Vis over andre</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Stopp etter denne videoen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Program</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Kjøp %1 …</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Avspeling</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Speleliste</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Vising</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Del</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjelp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Opnar %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <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="848"/>
-        <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="853"/>
-        <source>Close and cancel download</source>
-        <translation>Steng og avbryt nedlastinga</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Vent medan nedlastinga vert fullførd</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Forlat &amp;fullskjerm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <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="1377"/>
-        <source>Remind me later</source>
-        <translation>Minn meg på det seinare</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Last ned %1 igjen frå lenkja du fekk via epost, og installer på nytt, for å få den oppdaterte versjonen.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Oppdater</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Feil: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>&amp;Førre</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Gå til førre spor</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Kompakt modus</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Opna &amp;YouTube-sida</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopier YouTube-&amp;lenkja</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopier &amp;URL-en til videostraumen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Finn &amp;delane av videoen</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Tøm siste søk</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>&amp;Doner</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>Start avspelinga &amp;manuelt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Spel av videoar manuelt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Spel av</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Gjenoppta avspeling</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Tid igjen: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Volum %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Lydlaust er på</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Lydlaust er av</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Maksimum videodefinisjon sett til %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Privatlivet ditt er no sikkert</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Nedlastingar fullførde</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <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="554"/>
-        <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="555"/>
-        <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="654"/>
-        <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="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Hald fram</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <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="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Send frå %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Kjøp fullversjonen</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Lastar ned %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Feil på nettverket: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 visingar</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 av %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Førebur</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Feila</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Ferdig</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Stoppa</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Stopp nedlasting</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Vis i %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Opna vertsmappa</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Start nedlastinga på nytt</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Søk</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Kjøpfullversjonen</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Skriv</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>eit nøkkelord</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>ein kanal</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>for å å sjå videoar.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Snurr film</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Siste søkjeord</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Siste kanalar</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Finn deg til rette</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>Kan ikkje henta videostraumen til %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Feil på nettverket: %1 for %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 3285a6164cb77b63aea39102cfdd3f01b8803517..f7290c6b7fb9fe0accc95a8ecf0345fbd2d8fde8 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Istnieje życie poza przeglądarką!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Wersja %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ikony zaprojektowane przez %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>O programie Minitube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Wyczyść</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation type="unfinished"/>
+        <translation>Proszę licencjonować  %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Te demo wygasło.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>Pełna wersja pozwoli ci ściągać filmiki dłuższe niż %1 minut i oglądać je bez przycięć.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Te demo wygasa za %1 dni.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Bez licencji ta aplikacja wygaśnie za %1 dni.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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 type="unfinished"/>
+        <translation>Przez zakup pełnej wersji wesprzesz również ciężką pracę, którą włożyłem w stworzenie %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Użyj Dema</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Pobierz pełną wersję</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Wprowadź Licencję</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Kup Licencję</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Wyczyść</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bajty</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bajtów/sekundę</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekund</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minut</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 pozostało do końca</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Kontynuuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
-        <translation type="unfinished"/>
+        <translation>Pobieranie ukończone</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Pobieranie</numerusform><numerusform>%n Pobieranie</numerusform><numerusform>%n Pobieranie</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Wybierz katalog pobierania</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Katalog pobierania został zmieniony.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Pobierane do: %1</translation>
     </message>
         <translation>Pobrane pliki</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Ściąganie aktualizacji...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Szukam...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Pokaż kolejne %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Brak plików</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Przeglądaj</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nie ma więcej plików</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Przeglądaj wideo według kategorii</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Poczuj się komfortowo</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>Prze&amp;skocz dalej</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Skocz do następnego pliku wideo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>Pełny ekran (&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Przełącz na pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Kopiuj link aktualnie odtwarzanego video do schowka</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>Usuń (&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Przenieś &amp;Wyżej</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Przenieś &amp;Niżej</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Wyczyść historię wyszukiwania. NIEODWRACALNIE.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>Wyjdź (&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Żegnaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Strona domowa projektu (&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 w sieci</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>O programie (&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informacje o %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Pobrane</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Pokaż szczegóły o pobranych plikach</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Pobierz</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Pobierz aktualny plik</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Udostępnij te wideo używając %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Więcej...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Kup %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Wideo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>Udo&amp;stępnij</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Pomoc</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Otwieranie %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Zamnij i anuluj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Poczekaj na zakończenie pobierania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opuść &amp;tryb pełnoekranowy</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Przypomnij mi później</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Aktualizuj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Błąd %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>Pop&amp;rzedni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Powrót do poprzedniego utworu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
-        <translation type="unfinished"/>
+        <translation>Otwórz na &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation type="unfinished"/>
+        <translation>Kopiuj adres &amp;URL strumienia wideo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
-        <translation type="unfinished"/>
+        <translation>Wy&amp;czyść Ostatnie Poszukiwania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
-        <translation type="unfinished"/>
+        <translation>Przekaż &amp;darowiznę</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Odtwarzaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Kontynuuj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Pozostały czas %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Głośność na %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Dźwięk jest wyciszony</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Przywrócono dźwięk</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Twoja prywatność jest teraz bezpieczna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Pobieranie ukończone</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Kontynuuj</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
-        <translation type="unfinished"/>
+        <translation>Wysłano z %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Pobieranie %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Błąd sieci %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Czy chcesz to teraz pobrać?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <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>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Wklej</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 widziane</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 of %2 (%3) — %4</translation>
+        <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Przegotowuję</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Nieudane</translation>
+        <translation>Niepowodzenie</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Zakończone</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Zatrzymane</translation>
+        <translation>Zatrzymano</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Zatrzymaj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Pokaż w %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Otwórz katalog macierzysty</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Pobierz od nowa</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Szukanie...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Pokaż kolejne %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Brak wideo</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Nie ma więcej wideo</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
-        <translation type="unfinished"/>
+        <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
-        <translation type="unfinished"/>
+        <translation>Daty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
-        <translation type="unfinished"/>
+        <translation>Kiedykolwiek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
-        <translation type="unfinished"/>
+        <translation>Dzisiaj</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
-        <translation type="unfinished"/>
+        <translation>7 Dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
-        <translation type="unfinished"/>
+        <translation>30 Dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
-        <translation type="unfinished"/>
+        <translation>Wszystko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Krótsze niż 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Pomiędzy 4 a 20 minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>Dłuższe niż 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
-        <translation type="unfinished"/>
+        <translation>Jakość</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Ukończono</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>Ukończono</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>słowo kluczowe</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>kanał</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>aby rozpocząć oglądanie</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Oglądaj</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Ostatnio szukane</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Odwiedzone kanały</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Czuj sie komfortowo</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Wstecz</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Przewiń do %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Cofnij do %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
+        <translation>Czy chodziło o: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
         <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Błąd sieci: %1 for %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Algieria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentyna</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brazylia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Kanada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Kolumbia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Czechy</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egipt</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Francja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Niemcy</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Grecja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Węgry</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>Indie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonezja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Irlandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Izrael</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Włochy</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japonia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malezja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Meksyk</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Maroko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Nowa Zelandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filipiny</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polska</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rosja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudyjska</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Południowa Afryka</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Południowa Korea</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Hiszpania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Szwecja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Tajwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunezja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Turcja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index aa8ae1920fc923fac4f7bc5f49348d2c8108419c..fb2321e5a2c73897a2fcc043a78ddfd13fde86c2 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Wersja %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licencjonowane dla: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, odtwarzacz muzyki z YouTube&apos;a</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, odtwarzacz muzyki</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ikony zaprojektowane przez %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>O programie</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Wyczyść</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Podaj szczegóły twojej licencji</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>Adres &amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kod:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Proszę zalicencjonować %1</translation>
+        <translation>Proszę kup licencję %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Ta wersja demo wygasła.</translation>
+        <translation>To demo wygasło.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Pełna wersja pozwala na pobieranie filmów dłuższych niż %1 min. oraz oglądać filmy bez przeszkód.</translation>
+        <translation>Pełna wersja pozwoli Ci pobierać filmy dłuższe niż %1 minut(y) i oglądać je bez zakłóceń.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>To demo wygaśnie za %1 dni.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Bez licencji, program wygaśnie za %1 dni.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Kupując pełną wersję, wspierasz także moją ciężką pracę którą wkładam w tworzenie %1.</translation>
+        <translation>Kupując pełną wersję, wspieraż także ciężką pracę, jaką włożyłem w stworzenie %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Dawaj Demo!</translation>
+        <translation>Uruchom w trybie demonstracyjnym</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Pobierz pełną wersję</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Wprowadź dane licencji</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Kup licencję</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Wyczyść</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>B/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sek.</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>min.</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>pozostało %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Dalej</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 ściągnięte w %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Ściąganie zakończone</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <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="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Zmień katalog pobierania...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Wybierz katalog pobierania</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Katalog pobierania został zmieniony.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Pobierane do: %1</translation>
     </message>
         <translation>Pobrane pliki</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Pobieranie aktualizacji...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Szukam...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Pokaż kolejne %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Znajdź filmy i kanały po słowie kluczowym</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Brak plików</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Przeglądaj</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nie ma więcej plików</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Przeglądaj filmy po kategorii</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Rozgość się</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Zatrzymaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>Prze&amp;skocz dalej</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Przejdź do następnego pliku wideo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Wstrzymaj odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Przełącz na pełny ekran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Usuń</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Przesuń w &amp;Górę</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Przesuń w &amp;Dół</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Czyści historię wyszukiwania. Nieodwracalnie.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Weź to wyłącz</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Narciarz</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Wyświetl stronę</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 on the Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Wesprzyj dalszy rozwój %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>O &amp;Programie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informacje o %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Szukaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Wycisz</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Pobrane</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Pokaż szczegóły o pobranych plikach</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Pobierz</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Pobierz aktualny plik</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Podziel się tym filmem przez %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>e-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Zamknij</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Ustaw na wierzchu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zatrzymaj  po tym filmie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>Zgłoś problem...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Zawęź wyszukiwanie...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Więcej...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>Powiązane filmy</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacja</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Kup%1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Lista odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Wideo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Widok</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Podziel się</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Halp znaczy pomoc</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Otwieranie %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Zamnij i anuluj pobieranie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Poczekaj na zakończenie pobierania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Opuść pełny ekran (&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>Wersja %1 %2 jest dostępna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Przypomnij później</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Aby pobrać zaktualizowaną wersję, pobierz na nowo %1 używając linka otrzymanego na e-mail, i zainstaluj ponownie.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Zaktualizuj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Błąd %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;oprzedni</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Wróć do poprzedniej ścieżki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Tryb kompaktowy</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otwórz stronę &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Skopiuj &amp;link do strony Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Skopiuj &amp;URL strumienia wideo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Znajdź części filmu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Wyczyść ostatnie wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Przekaż &amp;dotację</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Ręczne rozpoczynanie odtwarzania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Ręcznie odtwarzaj filmy</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Wybierz swoją lokalizację</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Graj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Przywróć odtwarzanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Pozostały czas: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Głośność: %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Dźwięk wyciszony</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Dźwięk przywrócony</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Maksymalna rozdzielczość wideo ustawiona na %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Twoja prywatność jest już bezpieczna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Pobieranie ukończone</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Dalej</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Przesłane od %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Zdobądź pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Pobieranie %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Nowa wersja %1 jest dostępna!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 jest dostępna. Aktualnie posiadasz %3.</translation>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Błąd sieci %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Chcesz pobrać teraz?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <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>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Instaluj aktualizację</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Wklej</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 odtworzeń</translation>
+        <translation>%1widziany</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Przygotowuję</translation>
+        <translation>Przygotowywanie</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Nieudane</translation>
+        <translation>Niepowodzenie</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Zakończone</translation>
+        <translation>Ukończone</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Zatrzymane</translation>
+        <translation>Zatrzymano</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Zatrzymaj pobieranie</translation>
+        <translation>Przerwij pobieranie</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Pokaż w %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Otwórz katalog główny</translation>
+        <translation>Otwórz katalog nadrzędny</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Pobierz od nowa</translation>
+        <translation>Pobierz ponownie</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Szukanie...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Pokaż kolejne %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Brak filmów</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Nie ma więcej filmów</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sortuj według</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Trafność</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Ocena</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Kiedykolwiek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Dzisiaj</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Czas trwania</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Wszystkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Krótkie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Średnie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Długie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Krótsze niż 4 minuty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Pomiędzy 4 a 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Dłuższe niż 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Jakość</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Jakość HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p lub wyższa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Zrobione</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation>Zrobione</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Pobierz pełną wersję</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>słowo kluczowe</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>kanał</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>aby rozpocząć oglądanie</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Oglądaj</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Ostatnie wyszukiwania</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Ostatnie kanały</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Rozgość się</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Wstecz</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Idź do %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Powróć do %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Zawęź wyszukiwanie</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Masz na myśli: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Najpopularniejsze</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Wyróżnione</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Najwięcej udostępniane</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Najczęściej dyskutowane</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Najlepiej oceniane</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Strumieniowanie %1 nie powiodło się</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Błąd sieci: %1 dla %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Algieria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentyna</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Australia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brazylia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Kanada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Chile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Kolumbia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Czechy</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egipt</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Francja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Niemcy</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Grecja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Węgry</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>Indie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonezja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Irlandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Izrael</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Włochy</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japonia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Jordania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malezja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Meksyk</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Maroko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Holandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Nowa Zelandia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigeria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filipiny</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polska</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rosja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Arabia Saudyjska</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Południowa Afryka</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Korea Południowa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Hiszpania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Szwecja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Tajwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunezja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Turcja</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Zjednoczone Emiraty Arabskie</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Wielka Brytania</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Jemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Ogólnoświatowy</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/pt.ts b/locale/pt.ts
deleted file mode 100644 (file)
index e80b5d9..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="pt" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <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="29"/>
-        <source>Version %1</source>
-        <translation>Versão %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 é Software Livre mas o seu desenvolvimento leva tempo precioso.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="34"/>
-        <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;Faça um donativo&lt;/a&gt; para suportar o desenvolvimento continuado do%2.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="38"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>Pode também querer experimentar outra das minhas aplicações:</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, um leitor de música YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation>Traduzir %1 para a sua língua nativa usando %2</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Icon criado por %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <source>Released under the &lt;a href=&apos;%1&apos;&gt;GNU General Public License&lt;/a&gt;</source>
-        <translation>Lançado nos termos 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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Fechar</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Sobre</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Limpar</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Por favor licencie %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Esta demo expirou.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Esta demo expirará em %1 dias.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Comprando a versão completa, estará a contribuir pelo trabalho duro em criar %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Use a demo.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Transfira a versão completa</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>bytes</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>bytes/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/sec</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/seg</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>segundos</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>minutos</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 restante</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Isto é apenas uma versão de demonstração de %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Continuar</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Transfira a versão completa</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Transferência</numerusform><numerusform>%n Transferências</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Mudar pasta de destino...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Escolha a pasta de destino da transferência</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>A pasta de destino da transferência foi actualizada.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>A pasta de transferência actual irá manter-se na mesma pasta.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
-        <source>Downloading to: %1</source>
-        <translation>A transferir para: %1</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>Transferências</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Iniciar</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Iniciar/Pausar</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Parar</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Parar assim que terminar o vídeo ou música corrente</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Próximo vídeo/música</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Vídeo/música anterior</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Aumentar volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Diminuir volume</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Silêncio</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Avançar</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Retroceder</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>A pesquisar...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostrar mais %1</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Sem vídeos</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Sem mais vídeos</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Erro</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Parar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Para a reprodução e voltar à vista de pesquisa</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
-        <source>S&amp;kip</source>
-        <translation>S&amp;altar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Saltar para o próximo vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pausar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Pausar reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>Ecrã &amp;Completo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Ir para ecrã completo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Esconder a lista de reprodução e a barra de ferramentas</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>Ir para a página do Youtube do vídeo e parar a reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Copiar o link do Youtube do vídeo actual para a área de transferência</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Copiar o URL da emissão de vídeo actual para a área de transferência</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Remover</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Remover os vídeos seleccionados da lista de reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Mover para &amp;Cima</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>Mover para cima os vídeos seleccionados na lista de reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Mover para &amp;Baixo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Mover para baixo os vídeos seleccionados na lista de reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>Limpar o histório de pesquisa. Não pode ser desfeito.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Sair</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Adeus</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>Sítio &amp;Web</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 na Internet</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <source>Please support the continued development of %1</source>
-        <translation>Por favor suporte o desenvolvimento continuado do %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Sobre</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Informação sobre %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Pesquisar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Silenciar o volume</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Transferências</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <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="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Transferência</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Transferir o vídeo actual</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Fechar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Aplicação</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Comprar %1...</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Lista de reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Vídeo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Ver</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Ajuda</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Prima %1 para aumentar o volume, %2 para reduzi-lo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>A abrir %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Deseja sair %1 com uma transferência activa?</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Se fechar %1, a transferência irá ser cancelada.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
-        <source>Close and cancel download</source>
-        <translation>Fechar e cancelar a transferência</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Espere que a transferência termine</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Sair do modo de &amp;Ecrã Inteiro</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 a versão %2 já se encontra disponível.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
-        <source>Remind me later</source>
-        <translation>Lembre-me mais tarde.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Para receber a versão actualizada, através da ligação que recebeu no seu email transfira novamente %1 e reinstale.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Actualizar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Erro:%1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Ir para a faixa anterior</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Reproduzir</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Retomar a reprodução</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Tempo restante:%1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Volume a :%1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>O volume está silenciado</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>O volume não está silenciado</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Definição de vídeo máxima estabelecida em %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>A sua privacidade está agora assegurada</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Transferência completa</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>Pode agora colar o link do Youtube noutra aplicação</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="554"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>Pode agora colar o URL da emissão de vídeo noutra aplicação</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="555"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>O link será válido apenas por algum tempo.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="654"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Isto é apenas uma versão de demonstração de %1.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="655"/>
-        <source>It allows you to test the application and see if it works for you.</source>
-        <translation>Permite testes a aplicacção e verificar como funciona.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="685"/>
-        <source>Continue</source>
-        <translation>Continuar</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="795"/>
-        <source>part</source>
-        <comment>This is for video parts, as in 'Cool video - part 1'</comment>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="797"/>
-        <source>episode</source>
-        <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="867"/>
-        <source>Sent from %1</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Transfira a versão completa</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Transferir: %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Erro de rede: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 visualizações</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 de %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>A preparar</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Falhou</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Completo</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Parado</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Parar a transferência</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Mostrar em %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Abrir pasta anterior</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Recomeçar a transferência</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Pesquisar</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Obter a versão completa</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Digite</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>uma palavra-chave</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>um canal</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>para começar a assistir vídeos.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Assistir</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Pesquisas recentes</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Canais recentes</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Acomode-se confortavelmente</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>Não é possível obter o video stream para %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Erro de rede: %1 para %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 861ac4406ab9c550b91521fa53ed520aa3179eba..fca6446ef7ee6556f1a4dd2e38c81ddfdae561a3 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Há vida fora do navegador!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versão %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <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="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, um tocador de música</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ícone desenhado por %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Fechar</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Limpar</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Por favor, licença %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Esta demonstração expirou.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>A versão completa permite que você baixe vídeos com mais de %1 minutos e assista-os sem interrupções.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Esta demonstração irá expirar em %1 dias.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Usar Demonstração</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obter a versão completa</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Limpar</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/seg</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>segundos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minutos</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 restantes</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 baixados em %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Download terminou</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Download</numerusform><numerusform>%n Downloads</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Alterar local...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Escolha um local para o download</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Local de download alterado.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Baixando para: %1</translation>
     </message>
         <translation>Downloads</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Pesquisando...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Pesquisar</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Mostrar mais %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Não há vídeos</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Não há mais vídeos</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Sinta-se confortável</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Parar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>Pu&amp;lar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Pular para o próximo vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pausar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pausar a reprodução</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Tela Cheia</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Ir para a tela cheia</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Ocultar a playlist e a barra de ferramentas</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Remover</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Remover os vídeos selecionados da playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mover para &amp;cima</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Mover para cima os vídeos selecionados na playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mover para &amp;baixo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Mover para baixo os vídeos selecionados na playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Sair</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Tchau</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Si&amp;te</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 na Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Sobre</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informações sobre %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Pesquisar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Volume mudo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Downloads</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Baixar o vídeo atual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Fechar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Sempre Acima</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Parar Após Este Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Relatar um problema...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Refinar Pesquisa...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicação</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Adquirir %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Reprodução</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Compartilhar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajuda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Pressione %1 para aumentar o volume, %2 para diminui-lo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Abrindo %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Fechar e cancelar download</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Aguardar o download terminar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Deixar Em &amp;Tela Cheia</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 versão %2 está agora disponível.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Lembrar mais tarde</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Para obter a versão atualizada, baixe %1 novamente do link que você recebeu via e-mail e reinstale-o.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Atualizar</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Erro: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>Ante&amp;rior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Ir para a faixa anterior</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Modo &amp;Compacto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Abrir a Página do &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiar o &amp;Link do YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiar a &amp;URL do Stream do Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Localizar &amp;Parte Do Vídeo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>&amp;Limpar Buscas Recentes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Faça uma &amp;Doação</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Iniciar &amp;Manualmente A Reprodução</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Iniciar manualmente a reprodução de vídeos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Reproduzir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Continuar reprodução</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Tempo restante: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volume a %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Volume está mudo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Volume não está mudo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Sua privacidade está agora segura</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Downloads finalizados</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Esta é apenas a versão demonstação de %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuar</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
         <translation>epsódio</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Envido de %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Baixando %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Erro na rede: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistItemDelegate</name>
+    <message>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 exibições</translation>
+        <translation>%1 visualizações</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 de %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Preparando</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>Falhou</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Finalizado</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Parado</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>Parar download</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>Mostrar em %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>Abrir pasta pai</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>Reiniciar download</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Pesquisando...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Mostrar mais %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Sem vídeos</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Não há mais vídeos</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Ordenar por</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevância</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Data</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Número De Visualizações</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Avaliação</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Sempre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Hoje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 Dias</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Duração</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Todos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Breve</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Médio</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Longo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Menos de 4 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Entre 4 e 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Mais de 20 minutos</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Qualidade</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Alta Definição</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p ou superior</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Feito</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Obter a versão completa</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>uma palavra chave</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>um canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>para começar a assistir vídeos.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Assistir</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Palavra-chave recente</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canais recentes</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Sinta-se confortável</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Voltar</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Refinar Pesquisa</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Você quis dizer: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Erro na rede: %1 para %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 12a89c70a43f854c1988d229dafdae3c569689bb..44824e75c199b0b56f3d118ec858464c52af01fc 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Există viață dincolo de browser!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Versiunea %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licență pentru %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Puteți încerca și celelalte aplicații ale mele:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, un player pentru colecția muzicală de pe YouTube</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, un player pentru colecția muzicală proprie</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Iconița a fost concepută de %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>În&amp;chide</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Despre</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Șterge</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Introdu detaliile licenței tale</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Cod:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Licențiază %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Acest demo a expirat.</translation>
+        <translation>Versiunea demo a expirat.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Versiunea integrală permite descărcarea videoclipurilor mai lungi de %1 minute și vizualizarea neîntreruptă a acestora.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Acest demo va expira în %1 zile.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Fără licență, aplicația va expira în %1 zile.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Cumpărând versiunea integrală sprijini munca mea depusă în realizarea %1.</translation>
+        <translation>Cumpărând versiunea integrală îmi sprijini efortul depus pentru crearea %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Folosește demo</translation>
+        <translation>Folosește Demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Obține versiunea integrală</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Introdu Licența</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Cumpără Licență</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Șterge</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bytes</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bytes/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sec</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>secunde</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minute</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 rămase</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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 în așa fel încât să puteți testa funcționalitatea de descărcare.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Continuă</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>ObțineIa versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 descărcat în %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Descărcare terminată</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Descărcare</numerusform><numerusform>%n Descărcări</numerusform><numerusform>%n Descărcări</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Schimbă locația...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Alege locația de descărcare</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Locația de descărcare a fost schimbată.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Descărcare în: %1</translation>
     </message>
         <translation>Descărcări</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Descărcare actualizări...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Căutare...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Caută</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Afișează încă %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Nu sunt videoclipuri</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nu mai sunt videoclipuri</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Stop</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>O&amp;mite</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Treci la videoclipul următor</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pauză</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pune redarea pe pauză</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>Ec&amp;ran complet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Vizualizează pe tot ecranul</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>Ș&amp;terge</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Mută în &amp;sus</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Mută în &amp;jos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Ieșire</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>La revedere</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>Site &amp;Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 pe Web</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Despre</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informații despre %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Căutare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Oprire sunet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Descărcări</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Arată detalii despre descărcările video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Descărcare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Descarcă videoclipul curent</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>În&amp;chide</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Detașează</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Oprește După Acest Videoclip</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Raportează o problemă...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Căutare rafinată...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplicație</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Cumpără %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Redare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Listă de redare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>Vi&amp;zualizare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>Î&amp;mpărtășește</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Ajutor</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Deschidere %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Închide și anulează descărcarea</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <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="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Ieși din Ec&amp;ran Complet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Reamintește-mi mai târziu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Pentru a avea versiunea la zi, descarcă %1 folosind adresa de internet primită prin email și reinstalează aplicația.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Actualizează</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Eroare: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>&amp;Anterioare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Mergi înapoi la piesa precedentă</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Modul &amp;Compact</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Deschide Pagina &amp;YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Copiază &amp;adresa videoclipului YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Copiază adresa &amp;fluxului video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Caută &amp;Părți ale Videoclipului</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Șt&amp;erge Căutările Recente</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Fă o &amp;Donație</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Pornește Redarea &amp;Manual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Pornește redarea videoclipurilor manual</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Redare</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Rezumă redarea videoclipului</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Timp rămas : %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Volum %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Sunetul este oprit</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Sunetul este pornit</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Intimitatea dumneavoastră este acum în siguranță</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Descărcări complete</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Continuă</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Trimis din %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Obține versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Descărcare %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>O nouă versiune %1 este disponibilă!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 este acum disponibilă. Tu ai %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Dorești descărcarea ei acum?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Renunță la Această Versiune</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Amintește-mi Mai Târziu</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Instalează Actualizări</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Eroare de rețea : %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Adaugă</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 vizualizări</translation>
+        <translation>%1 vizionări</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 din %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Pregătire</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Eșuat</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Terminat</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Oprit</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Oprește descărcarea</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Arată în %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Deschide directorul părinte</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Repornire descărcare</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Căutare...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Nici un videoclip</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Sortează după</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevanță</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Dată</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Vizualizări</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Evaluare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Oricând</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Astăzi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 Zile</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 Zile</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Durată</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Toate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Scurt</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Mediu</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Lung</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Mai scurt de 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Între 4 și 20 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Mai lung de 20 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Calitate</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Înaltă Definiție HD</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p sau definiție mai mare</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Terminat</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Obține versiunea integrală</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>un cuvânt cheie</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>un canal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>pentru a începe să vizionați videoclipuri.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Urmărește</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Căutări recente</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Canale recente</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Faceţi-vă confortabil</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>Î&amp;napoi</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Căutare Rafinată</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Ai vrut să spui: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Eroare reţea: %1 pentru %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 96d81b29e513e62029a17d2ce385f8daac2dcdb9..5f4af6ea06494200d23bef2c918a4200348b1329 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Жизнь вне браузера!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Версия %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Зарегистрирована на: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 - свободное ПО, но его разработка отнимает драгоценное время.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>Вы также можете попробовать другие мои приложения:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, плеер музыки c YouTube </translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, музыкальный плеер</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>Перевести %1 на ваш родной язык с помощью %2</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Автор значка %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыть</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>О программе</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>Все что Вы всегда хотели узнать о %1 и никогда бы не спросили</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Очистить</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Введите ваши детали лицензии</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Email:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Код:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Лицензия %1</translation>
+        <translation>  
+Лицензия %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Демонстрационный период истек.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Полная версия позволяет смотреть видео, добавлять более %1 треков в списке воспроизведения и выбирать разные варианты песен.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Ð\94емонÑ\81Ñ\82Ñ\80аÑ\86ионнÑ\8bй Ð¿ÐµÑ\80иод истекает через %1 дн.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>СÑ\80ок Ñ\80абоÑ\82Ñ\8b, Ñ\8dÑ\82ого Ð¿Ñ\80иложениÑ\8f, Ð±ÐµÐ· Ð»Ð¸Ñ\86ензии истекает через %1 дн.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>При покупке полной версии, вы также оказываете поддержку тяжелой работы в создании %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Ð\94емонÑ\81Ñ\82Ñ\80аÑ\86иÑ\8f</translation>
+        <translation>Ð\98Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ð´ÐµÐ¼Ð¾</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Получить полную версию</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Ввести лицензию</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Купить лицензию</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Очистить</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>байт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>Кбайт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>Мбайт</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>байт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>Кбайт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>Мбайт/сек</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>секунд</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>минут</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>осталось %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>Это всего лишь демо-версия %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Получить полную версию</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 загружен в %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Загрузка завершена</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>Загружается %n файл</numerusform><numerusform>Загружаются %n файла</numerusform><numerusform>Загружаются %n файлов</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Изменить путь...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Выбрать путь загрузки</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Путь для загружаемых файлов изменён.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>Файлы, загружаемые в данный момент будут сохранены по прежнему адресу.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Файлы загружаются в %1</translation>
     </message>
         <translation>Загрузки</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Загрузка обновления....</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Поиск...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Поиск</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Показать ещё %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Клипы не найдены</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Больше нет клипов</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Остановить</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>Остановить воспроизведение и вернуться к поиску</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>П&amp;ропустить</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Перейти к следующему клипу</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Пауза</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Приостановить воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;На весь экран</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Полноэкранное воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Скрыть список воспроизведения и панель инструментов</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>Приостановить воспроизведение и перейти на страницу видео в YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>Скопировать ссылку текущего клипа YouTube в буфер обмена</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>Скопировать адрес текущего видео потока в буфер обмена</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
         <translation>Найти другие части видео, надеюсь, в правильном порядке</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Удалить</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>Удалить выбранные клипы из списка воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>В&amp;верх</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>Переместить выбранные видеоклипы вверх в списке воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>В&amp;низ</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>Переместить выбранные видеоклипы вниз в списке воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>Очистить историю запросов. Изменения необратимы.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Выход</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Пока</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Домашняя страница</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 в интернете</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
         <translation>Поддержите дальнейшую разработку %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;О программе</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Сведения о %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Поиск</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Выключить звук</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>Загрузки</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Показать подробности о загрузках видео</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>Загрузить</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Загрузить проигрываемый файл</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Поделиться текущим видео с помощью %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Email</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Закрыть</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Поверх всех окон</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>Ост&amp;ановить после этого видео</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>Соо&amp;бщить об ошибке</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Уточнить поиск...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Больше...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>По&amp;хожее видео</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation>Смотреть видео, связанные с текущим</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>Пр&amp;иложение</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Купить %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Список воспроизведения</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Видео</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Просмотр</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Поделиться</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>Спр&amp;авка</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>Нажмите %1 для увеличения громкости и %2 для уменьшения</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Открытие %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>Вы действительно хотите закрыть %1 в то время, как загружаются файлы?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>Если вы закроете %1 прямо сейчас, текущие загрузки будут отменены.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Выйти отменив загрузки</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Подождать завершения загрузок</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Покинуть п&amp;олноэкранный режим</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 версия %2 теперь доступна.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Напомнить позже</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Чтобы получить обновленную версию, скачайте %1 ещё раз по ссылке, которую вы получили по электронной почте и переустановите программу.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Обновление</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Ошибка: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>Пр&amp;едыдущий</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Вернуться к предыдущему треку</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Компак&amp;тный режим</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>От&amp;крыть страницу YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Копировать &amp;ссылку на YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Копировать ссылку на в&amp;идео поток</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Найти &amp;фрагменты видео</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>О&amp;чистить последние поисковые запросы</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Сд&amp;елать пожертвование</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Начать проигрывание вручную</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Начать проигрывание видео вручную</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>Пр&amp;оиграть</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Продолжить воспроизведение</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Осталось: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Громкость %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Звук выключен</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Звук включен</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>Максимальное разрешение видео: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Конфиденциальность обеспечена</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Загрузка завершена</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>Теперь можно вставить адрес YouTube в другое приложение</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>Теперь можно вставить адрес видео потока в другое приложение</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>Адрес будет существовать ограниченное время.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Данная программа является демо-версией %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>из</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Отправить из %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Купить полную версию</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Загружаю %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Новая версия приложения %1 уже доступна!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 уже доступна. У вас %3.</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Хотите загрузить сейчас?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Пропустить эту версию</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Напомнить позже</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Установить обновление</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Ð\9eÑ\88ибка Ñ\81еÑ\82и: %1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Ð\92Ñ\81Ñ\82авиÑ\82Ñ\8c</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 просмотров</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>Загружено %1 из %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Подготовка</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Ошибка</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Завершено</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Остановлено</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Ð\9eÑ\81Ñ\82ановиÑ\82Ñ\8c Ð·Ð°Ð³Ñ\80Ñ\83зкÑ\83</translation>
+        <translation>Ð\9eÑ\82мена Ð·Ð°Ð³Ñ\80Ñ\83зки</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Показать в %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Открыть каталог</translation>
+        <translation>Открыть родительский каталог</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Продолжить загрузку</translation>
+        <translation>Перезапустить загрузку</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Идет поиск...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Нет видео</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Нет больше видео</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Сортировать по</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Релевантность</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Дата</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Кол-во просмотров</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Рейтинг</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>В любое время</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Сегодня</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 дней</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 дней</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Продолжительность</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Все</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Короткие</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Средние</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Длинные</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Короче чем 4 минуты</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Между 4 и 20 минутами</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Дольше чем 20 минут</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Качество</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Высокое разрешение</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p или больше</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Готово</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation>Готово</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Купить полную версию</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>запрос</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>канал</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>чтобы начать просмотр.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Смотреть</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Последние запросы</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Последние каналы</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Чувствуйте себя как дома</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>Н&amp;азад</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Вперед к %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Назад к %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Уточнить поиск</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Возможно вы имели в виду: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Самые популярные</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Популярные</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Самые обсуждаемые</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Лучшие оценки</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Не удалось получить видео поток для %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Ошибка сети: %1 на %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Алжир</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Аргентина</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Австралия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Бельгия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Бразилия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Канада</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Чили</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Колумбия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Чехия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Египет</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Франция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Германия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Гана</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Греция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Гонконг</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Венгрия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Мексика</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Марокко</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Нидерланды</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Новая Зеландия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Нигерия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Перу</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Филиппины</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Польша</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Россия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Саудовская Аравия</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Сингапур</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Южно-Африканская Республика</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Республика Корея</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Испания</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Швеция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Тайвань</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Тунис</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Турция</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Уганда</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Объединённые Арабские Эмираты</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Великобритания</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Йемен</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 3458e35c4b0250283b0d2d56a22c27a9a342f8d3..d54f7322ee08199026dc75df055164434345c96e 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Verzia %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>Licencované pre: %1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 je Slobodným Softvérom, ktorého vývoj si žiada značnú dávku času.</translation>
+        <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <source>Please &lt;a href=&apos;%1&apos;&gt;donate&lt;/a&gt; to support the continued development of %2.</source>
-        <translation>Prosím o finančnú &lt;a href=&apos;%1&apos;&gt;podporu&lt;/a&gt; pokračujúceho vývoja %2.</translation>
+        <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, prehrávač YouTube muziky</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, kvalitný hudobný prehrávač</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
-        <translation>Dizajn ikony spravil %1.</translation>
+        <translation>Ikonu nadizajnoval %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvoriť</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>O projekte</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Vyčisiť</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Vlož svoje licenčné detaily</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;E-mail:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>&amp;Kód:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Licencuj si %1 prosím</translation>
+        <translation>Prosím licencujte %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Aktuálna demoverzia expirovala.</translation>
+        <translation>Demoverzia expirovala.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>S plnou verziou budeš môcť sťahovať videá dlhšie ako %1 minút a sledovanie bude bez prerušení.</translation>
+        <translation>Plná verzia ti umožní stiahnuť videá dlhšie než %1 minút a tiež ich prezeranie bez prerušení.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Aktuálna demoverzia expiruje za %1 dní.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Aplikácia bez licencie expiruje za %1 dní.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Zakúpením plnej verzie podporíš námahu, vynaloženú pri tvorbe %1.</translation>
+        <translation>Zakúpením plnej verzie tiež podporíš vynaložené úsilie pri tvorbe %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Použiť demoverziu</translation>
+        <translation>Použiť demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Získať plnú verziu</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Vložiť licenciu</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Zakúpiť licenciu</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Vyčisiť</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bajtov</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>bajtov/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/sek</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekúnd</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minút</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>zostáva %4 %5</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ide o demoverziu %1.</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Pokračuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 stiahnuté za %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Sťahovanie ukončené.</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <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="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Zmeniť umiestnenie...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Zmeniť umiestnenie sťahovaní</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Umiestnenie sťahovaní zmenené.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Sťahujem do: %1</translation>
     </message>
         <translation>Sťahovania</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Sťahujem aktualizáciu...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Hľadám...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Hľad</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Zobraziť %1 ďalších</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Nájsť videá a kanály podľa kľúča</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Žiadne videá</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Prehliadať</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Žiadne ďalšie videá</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Prehliadať videá podľa kategórie</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Daj sa do pohody</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
-        <translation>%Zastaviť</translation>
+        <translation>&amp;Zastaviť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Preskočiť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Preskočiť na nasledovné video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pozasaviť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Pozastaviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celá obrazovka</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Na celú obrazovku</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <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="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Odstrániť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
-        <translation>Presunúť &amp;Nahor</translation>
+        <translation>Presunúť &amp;nahor</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
-        <translation>Presunúť &amp;Nadol</translation>
+        <translation>Presunúť &amp;nadol</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Ukončiť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Maj sa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
-        <translation>&amp;Webstránka</translation>
+        <translation>&amp;Domovská stránka</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 na Internete</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;O projekte</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informácie o %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Hľadať</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Stlmiť hlasitosť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;Sťahovania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Zobraziť detaily o sťahovaní</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;Stiahnuť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Stiahnuť aktuálne video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-mail</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-mailová adresa</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Zatvoriť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>&amp;Vždy na vrchu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>&amp;Zastav po tomto videu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>&amp;Nahlásiť problém...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Upraviť kritériá hľadania...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Viac...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>&amp;Pridružené vidá</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikácia</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Zakúpiť %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Playlist</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Zobrazenie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Zdieľanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>&amp;Nápoveda</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Otváram %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Zatvoriť a zrušiť sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Počkať kým skončí sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
-        <translation>Opustiť &amp;Celú Obrazovku</translation>
+        <translation>Opustiť režim &amp;celej obrazovky</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Pripomenúť neskôr</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Pre získanie novšej verzie stiahni %1 z odkazu, ktorý ti bude zaslaný na e-mailovú adresu a preinštaluj aplikáciu.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Aktualizácia</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Chyba: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>&amp;Predošlé</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Ísť na predošlé video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>&amp;Kompaktný mód</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Otvoriť &amp;YouTube stránku</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopírovať YouTube &amp;Odkaz</translation>
+        <translation>Kopírovať &amp;odkaz z YouTube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopírovať &amp;URL video streamu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
-        <translation>Nájsť zvyšné &amp;časti videa</translation>
+        <translation>Nájsť zvyšné relevantné &amp;časti</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Vyčistiť posledné hľadania</translation>
+        <translation>&amp;Vyčistiť zoznam posledných hľadaní</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
-        <translation>Darovať &amp;príspevok</translation>
+        <translation>Finančne &amp;podporiť</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Manuálne začať prehrávanie</translation>
+        <translation>&amp;Manuálne prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
-        <translation>Manuálne začať prehrávanie videí</translation>
+        <translation>Koniec manuálneho prehrávania</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Vybrať svoju obsahovú lokáciu</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Prehrať</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Obnoviť prehrávanie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Zostávajúci čas: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Hlasitosť na %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Hlasitosť stlmená</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Hlasitosť nie je stlmená</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Nemaj obavy o súkromie</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Sťahovanie kompletné</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>Ide o demoverziu %1.</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Pokračuj</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Odoslané z %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Sťahujem %1.</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>Nová verzia %1 je práve dostupná!</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 je práve dostupná. Máš %3.</translation>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Chyba siete: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Chceš ju stiahnuť?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Preskočiť túto verziu</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Pripomenúť mi neskôr</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Nainštalovať aktualizáciu</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Vložiť</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 zhliadnutí</translation>
+        <translation>%1 prezretí</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 z %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Pripravovanie</translation>
+        <translation>Pripravujem</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Neúspešné</translation>
+        <translation>Zlyhané</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Kompletné</translation>
+        <translation>Úspešné</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>Zastavené</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Zastav sťahovanie</translation>
+        <translation>Zastav sťahovanie</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Zobraz v %1</translation>
+        <translation>Zobraz v %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Otvor nadradený adresár</translation>
+        <translation>Otvor nadradený adresár</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Reštartovať sťahovanie</translation>
+        <translation>Opakuj sťahovanie</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Hľadám...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>Zobraz %1 viac</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Žiadne videá</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Niet viac videí</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Zoradiť podľa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Relevancia</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Dátum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Počet zhliadnutí</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Hodnotenie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Kedykoľvek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Dnes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
-        <translation>7 Dní</translation>
+        <translation>7 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
-        <translation>30 Dní</translation>
+        <translation>30 dní</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Dĺžka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Všetko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Krátky</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Stredný</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Dlhý</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Menej ako 4 minúty</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Medzi 4 a 20 minútami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Viac ako 20 minút</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Kvalita</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Vysoké rozlíšenie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p alebo vyššie</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
+        <source>Done</source>
+        <translation>Hotovo</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
         <source>Done</source>
         <translation>Hotovo</translation>
     </message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Získať plnú verziu</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>kľúčové slovo</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>názov kanálu</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>pre spustenie sledovania.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Pozerať</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Posledné kľúčové slová</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Posledné kanály</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Pohodlne sa usaď</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>&amp;Späť</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>Vpred k %1</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Späť k %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Upraviť kritériá hľadania</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Mali ste na mysli: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>Najpopulárnejšie</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Prominentné</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>Najzdieľanejšie</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>Najdiskutovanejšie</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>Najvyššiehodnotené</translation>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>Nedostupný video stream pre %1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Chyba siete: %1 pre %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Alžirsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Argentína</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Austrália</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belgicko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brazília</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Kanada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Čile</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Kolumbia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Česká Republika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Egypt</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Francúzsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Nemecko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Ghana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Grécko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Maďarsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>India</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Indonézia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>Írsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>Izrael</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>Taliansko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japonsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Jordánsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Keňa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malajzia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Mexiko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Maroko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Holandsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Nový Zéland</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nigéria</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filipíny</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Poľsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rusko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Saudská Arábia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Južná Afrika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Južná Kórea</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>Španielsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>Švédsko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Taiwan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunisko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Turecko</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Spojené Arabské Emiráty</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>Veľká Británia</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Jemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Celosvetovo</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index fbcb1611e325d4b150b74fb3995887138b9684f7..4d06d336d9358ca1eb91501dcb13d11a3ec11f1d 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>Zunaj brskalnika je življenje!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>Različica %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube glasbeni predvajalnik</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, glasbeni predvajalnik</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Ikone je izrisal %1.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>O programu</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Počisti</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>Kupite prosim licenco %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
         <translation>Različica demo je potekla.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Polna različica omogoča prenos posnetkov daljših od %1 minut in njihovo spremljanje brez prekinitev.</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Različica demo bo potekla čez %1 dni.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Z nakupom polne različice, boste podprli veliko truda, ki sem ga vložil v %1.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
         <translation>Uporabi demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Pridobi celotno različico</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Počisti</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>bajtov</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>kB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>byte/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>kB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/s</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>sekund</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>minut</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 ostaja</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Pridobi popolno različico</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
         <translation>%1 preneseno v %2</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>Prenos končan</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n Prenos</numerusform><numerusform>%n Prenosa</numerusform><numerusform>%n Prenosi</numerusform><numerusform>%n Prenosov</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Sprememba mesta ...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>Izberite mesto prenosa</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>Spremenili ste mesto prenosa.</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>Prenos v: %1</translation>
     </message>
         <translation>Prenosi</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Iskanje ...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Išči</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Pokaži %1 več</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Nobenega videa</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nobenega videa več</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>U&amp;stavi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>Pres&amp;koči</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Skoči na naslednji video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Pavza</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Premor v predvajanju</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Gre v celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Skrije predvajalni seznam in orodno vrstico</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>Odst&amp;rani</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Premakni &amp;gor</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>Premakni &amp;dol</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Nasvidenje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Spletno mesto</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 na spletu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;O programu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>Informacije o %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Išči</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Nemo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>Pre&amp;nosi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>Pokaže podrobnosti o prenosih posnetkov</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>Pre&amp;nesi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Prenese trenutni posnetek</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
         <translation>Deli trenutni posnetek preko %1 </translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;E-pošta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>E-pošte</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Zapri</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>Lebdeče na vrhu</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>U&amp;stavi za tem posnetkom</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
         <translation>P&amp;rijavi napako ...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
         <translation>&amp;Izboljšaj iskanje ...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Aplikacija</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>Kupi %1 ...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Predvajanje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>&amp;Predvajalni seznam</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Pogled</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>&amp;Deli</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>P&amp;omoč</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>Odpiranje %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Zapri in prekliči prenos</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>Počakaj, da konča prenos.</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>Zapusti celozaslonski način</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Opozori me kasneje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Za namestitev posodobljene različice, prenesite %1 s povezave, ki ste jo prejeli po elektronski pošti in ponovno namestite.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Posodobitev</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Napaka: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>P&amp;redhodna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
         <translation>Predhodna sled</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Strnjen način</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>Odpri stran &amp;Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>Kopiraj povezavo Youtube</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Kopiraj &amp;URL toka video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>&amp;Poišči ostale dele posnetka</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Počisti nedavna iskanja</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Pošlji &amp;donacijo</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>Ročno začni predvajanje</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Prični z ročnim predvajanjem posnetkov</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Predvajaj</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Nadaljuj s predvajanjem</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Preostali čas: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Glasnost %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Glasnost je utišana</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Glasnost je povrnjena</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Vaša zasebnost je zdaj varna</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>Prenosi so končani</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Nadaljuj</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <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="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>Poslano iz %1</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Pridobi celotno različico</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>Prenašanje %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Napaka omrežja: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 ogledov</translation>
+        <translation>%1 predvajanj</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 od %2 (%3) — %4</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
-        <translation>Pripravljanje</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Neuspešno</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
-        <translation>Dokončano</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Ustavljeno</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>Ustavi prenos</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
-        <translation>Pokaži v %1</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Odpri nadrejeno mapo</translation>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>Ponovno prenesi</translation>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Iskanje ...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Nobenega videa</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>Razvrsti glede na</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
         <translation>Ustreznost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>Število ogledov</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>Oceno</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>Kadarkoli</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>Danes</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 dni</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>Trajanje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>Vse</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>Kratko</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>Srednje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>Dolgo</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>Manj kot 4 minute</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>Med 4. in 20. minutami</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>Daljše kot 20 minut</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>Kvaliteta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>Visoka ločljivost</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p in višje</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>Narejeno</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Pridobi celotno različico</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>ključno besedo</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>kanal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>in začnite gledati posnetke.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>Glejte</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Nedavne ključne besede</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Nedavni kanali</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Namestite se udobno</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>Izboljšaj iskanje</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>Ali ste mogoče mislili: %1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Napaka omrežja: %1 od %2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/sq.ts b/locale/sq.ts
deleted file mode 100644 (file)
index 0037c8a..0000000
+++ /dev/null
@@ -1,1072 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sq" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <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="29"/>
-        <source>Version %1</source>
-        <translation>Version %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <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="34"/>
-        <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="38"/>
-        <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="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1 , Luajtes i muzikes per YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1 , Luajtes i muzikes</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <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="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Dizajnimi i ikones u be nga %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation> Afer</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Afersisht</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Paster</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Ju lutem licencen %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Versioni demostrativ ka skaduar</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Versioni i plote ju lejon qe te shkarkoni video me te gjata se %1 minuta dhe gjithashtu te shikoni video pa pengesa.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Versioni demostrativ do te skadoj ne %1 dit.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Duke bere blerjen e versionit te plot , ju gjithashtu do te perkrahni punen per krijimin e %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Perdor versionin demostrativ</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Merrni versionin e plote</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>Bajts</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>Bajts/Sekond</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/Sekond</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/Sekond</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>Sekonda</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>Minuta</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 Mbetet</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <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="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Vazhdon</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Merrni versionin e plote</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Shkarkim</numerusform><numerusform>%n Shkarkime</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Ndrysho lokacionin</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Zghidhni lokacionin e shkarkimeve</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Lokacioni i shkarkimeve u ndryshua.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <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="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Duke shkarkuar ne : %1</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>Shkarkimet</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Luaje</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pushim</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Luaje/Pushim</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Ndaloje</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Ndaloje se luajturi pas kenges aktuale</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Kenga e ardhshme</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Kenga e meparshme</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Rrite zerin</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Ule zerin</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Pa ze</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Kerko perpara</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Kerko prapa</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Duke kerkuar</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Shfaq %1 me shume</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Nuk ka video</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Nuk ka me video</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Gabim</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>Ndaloje</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <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="189"/>
-        <source>S&amp;kip</source>
-        <translation>Kaperce</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Kaperce te video e ardhshme</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>Pushoje</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Pushoje rishikimin</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>Ekran te plote</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Kalo ne ekran te plot</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <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="233"/>
-        <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="240"/>
-        <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="247"/>
-        <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="254"/>
-        <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="260"/>
-        <source>&amp;Remove</source>
-        <translation>Largo</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <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="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Leviz lart</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <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="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Leviz posht</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <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="286"/>
-        <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="291"/>
-        <source>&amp;Quit</source>
-        <translation>Lëre</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Mireupafshim</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>Adrese interneti</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 ne Web</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <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="311"/>
-        <source>&amp;About</source>
-        <translation>Rreth</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Informata rreth %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Kerkim</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Hesht zerin</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>Shkarkimet</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Trego detajet rreth videove te shkarkuara</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>Shkarko</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Shkarko videon e tanishme</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Shperndaj videon aktuale duke perdorur %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>% Email</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Email</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation> Afer</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Nxjerr ne Krye</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Ndalo pas kesaj video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>Aplikacion</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Blej %1....</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Ridegjim</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>Lista e luajtjes</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>Video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Shiko</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Shperndaje</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>Ndihma</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Duke hapur %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <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="848"/>
-        <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="853"/>
-        <source>Close and cancel download</source>
-        <translation>Mbyll dhe ndalo shkarkimin</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Prisni per shkarkimin qe te mbaroj</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Largohu &amp; Ekran te plote</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 versioni %2 eshte i gatshem</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
-        <source>Remind me later</source>
-        <translation>Me rikujto me von</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Per te marr version e arrnuar , shkarko %1 prap nga linku te cilin e keni marr permes email dhe instalone prap</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Arrnim</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Gabim:%1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>Mehershme</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Kthehu prapa te kenga e kaluar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>Ne mod kompakte</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Hap faqen &amp; e Youtube </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopjo linkun nga YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopjo rrjedhen e videos &amp; URL</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Gjej videot &amp; Pjeset</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>Pastro kerkimet e me parshme</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Beni nje donacion</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>Fillo luajtjen manualisht</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Manualisht fillo luajtjen e videove</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>Luaj</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Rinis rishikimin</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Koha e mbetur:%1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Zeri ne %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Zeri eshte heshtur</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Zeri eshte leshuar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <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="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Privatsia juaj tani eshte e sigurt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Shkarkimet jan kompletuar</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <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="554"/>
-        <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="555"/>
-        <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="654"/>
-        <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="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Vazhdim</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <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="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Derguar nga %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Merrni versionin e plote</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Duke shkarkuar %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Gabim ne rrjet:%1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 Shikime</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 i %2(%3)-%4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Duke e pergaditur</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Ka deshtuar</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Ka perfunduar</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Ka ndaluar</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Ndalo shkarkimin</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Trego ne %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Hap dosjen kryesor</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Rifilloni shkarkimin</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Kerkim</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Merrni versionin e plote</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Hyr</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>Nje fjal kyqe</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>Nje kanal </translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>Per te filluar shikimin e videove.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Shiko</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Fjalit kyqe te fundit</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Kanali i fundit</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Relaksohuni</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <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="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Gabim rrjeti:%1 per %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
diff --git a/locale/sr.ts b/locale/sr.ts
deleted file mode 100644 (file)
index 6667b5a..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sr" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>Може и без веб прегледача!</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="29"/>
-        <source>Version %1</source>
-        <translation>Верзија %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 је слободан софтвер, али његов развој одузма драгоцено време.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="34"/>
-        <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="38"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>Можда би сте желели да пробате и моје друге програме:</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, музички плејер за Јутјуб</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, музички плејер</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation>Преведите %1 на ваш матерњи језик помоћу %2</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Иконицу дизајниро %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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;Гнуовом Општом Јавном Лиценцом</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Затвори</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>О програму</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Све што сте одувек желели да знате о програму %1 али се нисте усудили а питате</translation>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Очисти</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Молимо да купите %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Показна верзија је истекла.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Пуна верзија вам омогућава да преузмете записе дуже од %1 минута и гледате видео без прекида.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Верзија ће истећи за %1 дана.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Куповином пуне верзије ћете уједно и подржати мој рад на програму %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Користи показну верзију</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Набави пуну верзију</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>бајтова</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>b/s</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB/s</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB/s</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>секунди</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>минута</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 преостаје</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Ово је тек демо верзија  %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Настави</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Преузмите пуну верзију</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n прузимање</numerusform><numerusform>%n прузимања</numerusform><numerusform>%n прузимања</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Промените локацију...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Изаберите локацију преузимања</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Локација преузимања је промењена.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>Тренутна преузимања ће се наставити са претходне локације.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Преузимам у: %1</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>Преузимања</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Пусти</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Паузирај</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Пусти или паузирај</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Заустави</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Заустави пуштање након тренутне стазе</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Следећа стаза</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Претходна стаза</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Појачај</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Утишај</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Искључи тон</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Премотај унапред</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Премотај уназад</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Тражим...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Прикажи још %1</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Нема снимака</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Нема других снимака</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Грешка</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Заустави</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Зауставља пуштање и враћа се на приказ претраге</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
-        <source>S&amp;kip</source>
-        <translation>Прес&amp;кочи</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Пушта следећи снимак</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Паузирај</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Паузира пуштање</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Целоекрански приказ</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Прелази у целоекрански приказ</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Скрива плејлисту и траке алатки</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>Паузира пуштање и одлази на страницу на Јутјубу</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Копира Јутјуб везу тренутног видеау у клипборд</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Копирај УРЛ тренутног видео тока у клипборд</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation>Нађи остале делове видеа, можда и у исправном редоследу</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Уклони</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Уклања изабране снимке из плејлисте</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Помери на&amp;више</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>Помера изабране снимке навише у плејлисти</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Помери на&amp;ниже</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Помера изабаране снимке наниже у плејлити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>Уклања историјат претраге. Не може се опозвати.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Напусти</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Ћао</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Веб сајт</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 на вебу</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <source>Please support the continued development of %1</source>
-        <translation>Молимо да подржите даљи развој програма %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;О програму</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Подаци о програму %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Претрага</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Искључи тон</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Преузимања</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Приказује детаље о преузетим видео снимцима</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Преузми</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Преузима тренутни видео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Дели тренутни видео путем %1 </translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Е-пошта</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Е-пошта</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Затвори</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Флутај на врху</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>Зау&amp;стави након овог видеа</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Програм</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Купите %1....</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Пуштање</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Плејлиста</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Видео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Приказ</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Дељење</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Помоћ</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Притисните %1 да би појачали, односно %2 да би утишали тон</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Отварам %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Желите ли а напустите %1 током активног преузимања?</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Уколико затворите %1 сада ово преузимање ћњ бити отказано.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
-        <source>Close and cancel download</source>
-        <translation>Затвори и откажи преузимање</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Сачекајте да се преузимање заврши</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Напусти &amp;цео екран</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>Доступан је %1 верзије %2.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
-        <source>Remind me later</source>
-        <translation>Подести ме касније</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Да би ажирирали верзију преузмите %1 поново путем везе коју сте добили е.поштом и поново га инсталирајте.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Ажурирај</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Грешка:%1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>П&amp;ретходни</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Иде на претходну нумеру</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Компактан режим</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Отвори страницу на &amp;Јутјубу</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Копирај &amp;везу са Јутјуба</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Копирај &amp;УРЛ видео тока</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Нађи &amp;делове видеа</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Очисти недавне претраге</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>&amp;Донирајте</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Ручно покретање пуштања</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Пуштање видеа се покреће ручно</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Пусти</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Настави пуштање</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Преостало време: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Јачина тона %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Тон је искључен</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Тон  је поново укључен</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Максимална дефиниција видеа је постављена на  %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Ваша приватност је сада осигурана</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Преузимања су завршена</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>Сад можете налепити везу са Јутјуба у други програм</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="554"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>Сад можете УРЛ видео тока налепити у други програм</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="555"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>Веза је исправна само одређено време.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="654"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Ово је тек демо верзија %1.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Настави</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation>од</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Послато са %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Преузмите пуну верзију</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>преузимам %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Мрежна грешка: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 прегледа</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 од %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Припремам</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Неуспех</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Завршено</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Заустављено</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Заустави преузимање</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Прикажи у %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Отвори родитељску фасциклу</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Поново покрени преузимање</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Претрага</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Преузмите пуну верзију</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>унесите</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>кључну реч</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>канал</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>да би започели преглед видео снимака.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Гледај</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Недавни кључне речи</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Недавни канали</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Раскомотите се</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>не могу да добавим видео ток за %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Мрежна грешка: %1 за %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
diff --git a/locale/sv_SE.ts b/locale/sv_SE.ts
deleted file mode 100644 (file)
index ed67532..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="sv_SE" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>Det finns ett liv utanför webläsaren!</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="29"/>
-        <source>Version %1</source>
-        <translation>Version %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 är fri programvara men utveklingen tar värdefull tid.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="34"/>
-        <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>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="38"/>
-        <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="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, en YouTube musik spelare</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, en musik spelare</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <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="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Ikon designad av %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Om</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <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>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Rensa</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Vänligen licensiera %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Denna demo har utgått.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Fullversionen möjliggör dig att ladda ned videos längre än %1 minuter och titta på videos utan avbrott.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Denna demo kommer att utgå om %1 dagar</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation>Genom att köpa fullversionen kommer du också att stödja mitt hårda arbete jag gör med %1.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Använd demo</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Skaffa den fullständiga versionen</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>bytes</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>KB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>MB</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>byte / sekund</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>KB / sekund</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>MB / sekund</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>sekunder</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>minuter</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>%4 %5 återstår</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Detta är bara en demo version av %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
-        <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>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="56"/>
-        <source>Continue</source>
-        <translation>Fortsätt</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Få den fullständiga versionen</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Nedladning (ar)</numerusform><numerusform>%n Nedladning (ar)</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Byt plats ...</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Välj hämtningsplats</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Hämtningsplatsen har ändrats.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <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="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Hämtar till: %1</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>Nedladdningar</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Spela</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Spela / Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Stoppa</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Sluta spela efter nuvarande spår</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Nästa spår</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Föregående spår</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Öka volymen</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Minska volymen</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Mute</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Sök framåt</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Sök bakåt</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Söker...</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Visa %1 Fler</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Inga videos</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Inga fler videos</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Fel</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Stop</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Stoppa uppspelningen och gå tillbaka till Sök vyn</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
-        <source>S&amp;kip</source>
-        <translation>H&amp;oppa</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Hoppa till nästa video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Pausa</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Pausa uppspelning</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>&amp;Helskärm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Använd helskärm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Dölj spellistan och verktygsfältet</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <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="240"/>
-        <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="247"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Kopiera den nuvarande videoströmmen URL till urklipp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
-        <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="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Ta bort</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Ta bort markerade videoklippen från spellistan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Flytta &amp;upp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <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="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Flytta &amp;nedåt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Flytta ner markerade videoklippen i spellistan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
-        <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="291"/>
-        <source>&amp;Quit</source>
-        <translation>&amp;Avsluta</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>Hej då</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>&amp;Webbsida</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 på webben</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <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="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Om</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Info om %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Sök</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Volym av</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Nedladdningar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Visa detaljer om video nedladdningar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Ladda ner</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Ladda ner den aktuella videon</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Dela nuvarande video med %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Email</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Email</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Stäng</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Flyt ovanpå</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Stoppa efter denna video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Applikation</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Köp %1...</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Uppspelning</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Spellista</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>&amp;Video</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Vy</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Dela</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Hjälp</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Öppnar %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <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="848"/>
-        <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="853"/>
-        <source>Close and cancel download</source>
-        <translation>Stäng och avbryt nedladdning</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Vänta på att nedladdning blir klar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Lämna &amp;Helskärm</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <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="1377"/>
-        <source>Remind me later</source>
-        <translation>Påminn mig senare</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>För att få den uppdaterade versionen, ladda ned %1 igen från länken du har fått via email och ominstallera.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Uppdatera</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Fel: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>Fö&amp;regående</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <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="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>Kompakt läge</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Öppna &amp;YouTube sidan</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Kopiera YouTube &amp;Länk</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Kopiera video ström &amp;URL</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Hitta Video Delar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Rensa Senaste Sökningar</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Gör en &amp;Donation</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>Starta Spela &amp;Manuellt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Starta Spela Videos Manuellt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>&amp;Spela</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Återuppta uppspelning</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Återstående tid: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Volym %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Ljudet är avstängt</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Volymen är på</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Högsta video upplösning är satt till %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Din integritet är nu säker</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Nedladdningar klar</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <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="554"/>
-        <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="555"/>
-        <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="654"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Detta är bara en demo version av %1.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="655"/>
-        <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>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="685"/>
-        <source>Continue</source>
-        <translation>Fortsätt</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <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="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Skickad från %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Skaffa den fullständiga versionen</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Hämtar %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Nätverks fel:%1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 visningar</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 av %2 (%3) -%4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Förbereder</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Misslyckades</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Färdig</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Stoppad</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Stoppa nedladdning</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Visa i %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Äppna föregående folder</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Omstarta nedladdning</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Sök</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Skaffa den kompletta versionen</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Ange</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>ett sökord</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>en kanal</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>för att börja titta på video.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Titta</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Senaste sökord</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Senaste kanaler</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Gör dig själv bekväm</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <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="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Nätverks fel: %1 för %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 1a427037b4151d2725c3ca8992f09a60301eb9f4..f686a954d4645b494e0aacf7bad422f0ebfc524d 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <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="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
-        <translation>Version %1</translation>
+        <translation>Sürüm %1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>%1 için lisanslanmıştır</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <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="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <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="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1, YouTube müzik oynatıcı</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
         <translation>%1, bir müzik çalar</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <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="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>Simge %1 tarafından tasarlandı.</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>&amp;Kapat</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>Hakkında</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <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>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Temizle</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>Lisans bilgilerini girin</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>&amp;Eposta:</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation>Kod:</translation>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
-        <translation>Lütfen %1&apos;i kaydettirin</translation>
+        <translation>Lütfen lisans %1</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>Bu deneme sürümünün süresi dolmuş.</translation>
+        <translation>Deneme süresi bitti.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation>Tam sürüm %1 dakikadan uzun videoları indirmenize ve videoları kesinti olmadan izlemenize olanak sağlar.</translation>
+        <translation>Uygulamanın tam sürüm hali, sizin %1 dakikadan uzun videoları indirmenize ve kesintisiz video izlemenize izin verir.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Bu deneme sürümünün süresi %1 gün içinde dolacak.</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation>Lisans olmazsa, uygulama süresi %1 gün içinde dolacaktır.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>Tam sürümü satın alarak, %1&apos;i oluşturmaya harcadığım emeği de desteklemiş olacaksınız.</translation>
+        <translation>Tam sürümü alarak, aynı zamanda %1 yaratmamdaki üstün çabamı destekleyebilirsiniz.</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>Deneme Sürümü Kullan</translation>
+        <translation>Demo kullan</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Tam sürüme geç</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>Lisans Girin</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>Lisans Al</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>Temizle</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>byte</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>KB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>MB</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>byte/san</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>KB/san</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>MB/san</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>saniye</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>dakika</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
         <translation>%4 %5 kaldı</translation>
     </message>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <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="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>Devam</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%2 de %1 indirildi</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
-        <translation type="unfinished"/>
+        <translation>İndirme tamamlandı.</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>%n İndirme</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>Konumu değiştir...</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>İndirme konumunu seçin</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>İndirme konumu değişti</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <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="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>İndiriliyor: %1</translation>
     </message>
         <translation>İndirmeler</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>Güncelleme indiriliyor...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Aranıyor...</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>Arama</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>%1 Tane daha</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>Anahtar kelimeye göre video ve kanal bulun</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Video yok</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>Gözat</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Daha fazla yok</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>Kategoriye göre videoları gözat</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>Kendinizi rahat hissedin</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>&amp;Dur</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <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="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>&amp;Atla</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>Sonraki videoya atla</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>&amp;Bekle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>Oynatmayı beklet</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>&amp;Tam ekran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>Tam ekran görünümü</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>Listeyi ve araç çubuğunu gizle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <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="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <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="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <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="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <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="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>&amp;Kaldır</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <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="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>Y&amp;ukarı taşı</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <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="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>A&amp;şağı taşı</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <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="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <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="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>&amp;Çık</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
         <translation>Gülegüle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>&amp;Website</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1 İnternette</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <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="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>&amp;Hakkında</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>%1 Hakkında</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>Ara</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>Sesi kes</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>&amp;İndirmeler</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <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="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>&amp;İndir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>Geçerli videoyu indir</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <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="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
         <translation>&amp;Eposta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
         <translation>Eposta</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>&amp;Kapat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
         <translation>Üstte Sabitle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
         <translation>Bu Videodan &amp;Sonra Durdur</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>Bir Sorun Bildi&amp;r</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
+        <translation>A&amp;ramayı Sınırla...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>Dahası...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>Benze&amp;r Videolar</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <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="544"/>
         <source>&amp;Application</source>
         <translation>&amp;Uygulama</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>%1 Satın Al...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
         <translation>&amp;Çalma</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>Oynatma &amp;listesi</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>&amp;Video</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
         <translation>&amp;Görünüm</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
         <translation>Payla&amp;s</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>Yardı&amp;m</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <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="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>%1 Açılıyor</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <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="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <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="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>Kapat ve indirmeyi iptal et</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>İndirmenin bitmesini bekle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
         <translation>&amp;Tam Ekrandan Çık</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <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="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>Daha sonra hatırlat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>Güncellenmiş sürümü edinmek için, e-posta yoluyla aldığınız bağlantı üzerinden %1&apos;i indirin ve yeniden kurun.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>Güncelle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>Hata: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
         <translation>Önceki</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <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="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
         <translation>Kü&amp;cültümüş Ekran</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
         <translation>&amp;YouTube Sayfasını Aç</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
         <translation>YouTube &amp;Linkini Kopyala</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
         <translation>Video &amp;URL&apos;sini Kopyala</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
         <translation>Video Bölümlerini Bul</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
         <translation>Son Aramaları Temizle</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>Bağış Yap</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
         <translation>&amp;Manuel Olarak Çalmaya Başla</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>Videoları manuel olarak çalmaya başla</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation>Konumunuzu seçin</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>&amp;Oynat</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
         <translation>Oynatmaya devam et</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>Kalan zaman: %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>Ses %1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>Ses kapandı</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>Ses açık</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <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="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>Şimdi gizliliğiniz güvende</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>İndirme tamamlandı</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <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="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <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="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <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="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <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="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>Devam</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
         <translation>/</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <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="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <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="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
         <translation>%1 ile gönderildi</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>İndiriliyor %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation>%1 e ait yeni sürüm kullanılabilir.</translation>
+    </message>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Ağ hatası: %1</translation>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation>%1 %2 şimdi kullanılabilir. Siz %3</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation>Bunu şimdi indirmek istiyor musunuz?</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation>Bu Sürümü Geç</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation>Daha sonra Hatırlat</translation>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation>Güncellemeyi Yükle</translation>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
+    <message>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation>Yapıştır</translation>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
-        <translation>%1 görüntüleme</translation>
+        <translation>%1 görüntülenme</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 / %2 (%3) — %4</translation>
+        <translation>%1 of %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>Hazırlanıyor</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
-        <translation>Başarısız oldu</translation>
+        <translation>Başarısız</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>Tamamlandı</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
-        <translation>Durdu</translation>
+        <translation>Durduruldu</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
-        <translation>İndirmeyi durdur</translation>
+        <translation>İndirme işlemini durdur</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>%1 içinde göster</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
-        <translation>Ã\9cst dizini aç</translation>
+        <translation>Ã\96nceki dizini aç</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
-        <translation>İndirmeyi tekrar başlat</translation>
+        <translation>İndirme işlemini yeniden başlat</translation>
+    </message>
+</context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>Aranıyor...</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>%1 Tane Daha Göster</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>Video yok</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>Daha fazla video yok</translation>
     </message>
 </context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
-        <translation type="unfinished"/>
+        <translation>Sırala</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
-        <translation type="unfinished"/>
+        <translation>Alaka</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
-        <translation type="unfinished"/>
+        <translation>Tarih</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
-        <translation type="unfinished"/>
+        <translation>Hiti Göster</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
-        <translation type="unfinished"/>
+        <translation>Hit</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
-        <translation type="unfinished"/>
+        <translation>Herhangi bir zaman</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
-        <translation type="unfinished"/>
+        <translation>Bugün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
-        <translation type="unfinished"/>
+        <translation>7 Gün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
-        <translation type="unfinished"/>
+        <translation>30 Gün</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
-        <translation type="unfinished"/>
+        <translation>Süre</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
-        <translation type="unfinished"/>
+        <translation>Hepsi</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
-        <translation type="unfinished"/>
+        <translation>Kısa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
-        <translation type="unfinished"/>
+        <translation>Orta</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
-        <translation type="unfinished"/>
+        <translation>Uzun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
+        <translation>4 dakikadan kısa</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>4 - 20 dakika arası</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
+        <translation>20 dakikadan uzun</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
-        <translation type="unfinished"/>
+        <translation>Kalite</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
-        <translation type="unfinished"/>
+        <translation>Yüksek Kalite</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
-        <translation type="unfinished"/>
+        <translation>720p veya daha yüksek</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
-        <translation type="unfinished"/>
+        <translation>Bitti</translation>
+    </message>
+</context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation>Tamamlandı</translation>
     </message>
 </context>
 <context>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>Tam sürüme geç</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>bir anahtar kelime</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>bir kanal</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>ve videoları izlemeye başlayın.</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>İzle</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>Son arananlar</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>Önceki kanallar</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Kendinize konfor sunun</translation>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>Geri</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation>%1 Yönlendir</translation>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation>Geri Dön: %1</translation>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
-        <translation type="unfinished"/>
+        <translation>A&amp;ramayı Sınırla</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
+        <translation>Bunu mu demek istediniz: %1</translation>
+    </message>
+</context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation>En popülerler</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation>Gelecek</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation>En Çok Paylaşılanlar</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation>En Çok Tartışılan</translation>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation>En Çok Oy Verilenler</translation>
     </message>
 </context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <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="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>Ağ hatası: %2 için  %1</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation>Cezayir</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation>Arjantin</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation>Avustralya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation>Belçika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation>Brezilya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation>Kanada</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation>Şili</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation>Kolombiya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation>Çek Cumhuriyeti</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation>Mısır</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation>Fransa</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation>Almanya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation>Gana</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation>Yunanistan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation>Hong Kong</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation>Macaristan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation>Hindistan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation>Endonezya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation>İrlanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation>İsrail</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation>İtalya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation>Japonya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation>Ürdün</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation>Kenya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation>Malezya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation>Meksika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation>Fas</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation>Hollanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation>Yeni Zelanda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation>Nijerya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation>Peru</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation>Filipinler</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation>Polonya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation>Rusya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation>Suudi Arabistan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation>Singapur</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation>Güney Afrika</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation>Güney Kore</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation>İspanya</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation>İsviçre</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation>Tayvan</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation>Tunus</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation>Türkiye</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation>Uganda</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation>Birleşik Arap Emirlikleri</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation>İngiltere</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation>Yemen</translation>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation>Dünya Çapında</translation>
+    </message>
+</context>
 </TS>
\ No newline at end of file
diff --git a/locale/uk_UA.ts b/locale/uk_UA.ts
deleted file mode 100644 (file)
index b7a100d..0000000
+++ /dev/null
@@ -1,1071 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="uk_UA" version="2.0">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
-    <name>AboutView</name>
-    <message>
-        <location filename="src/AboutView.cpp" line="28"/>
-        <source>There&apos;s life outside the browser!</source>
-        <translation>За межами браузеру існує життя!</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="29"/>
-        <source>Version %1</source>
-        <translation>Версія %1</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="33"/>
-        <source>%1 is Free Software but its development takes precious time.</source>
-        <translation>%1 — це вільне програмне забезпечення, але його розробка займає дорогоцінний час.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="34"/>
-        <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="38"/>
-        <source>You may want to try my other apps as well:</source>
-        <translation>Спробуйте інші мої програми:</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="41"/>
-        <source>%1, a YouTube music player</source>
-        <translation>%1, музичний плеєр YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="45"/>
-        <source>%1, a music player</source>
-        <translation>%1, музичний плеєр</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="51"/>
-        <source>Translate %1 to your native language using %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="56"/>
-        <source>Icon designed by %1.</source>
-        <translation>Піктограму намалював %1.</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.cpp" line="60"/>
-        <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="73"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Закрити</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="25"/>
-        <source>About</source>
-        <translation>Про програму</translation>
-    </message>
-    <message>
-        <location filename="src/AboutView.h" line="27"/>
-        <source>What you always wanted to know about %1 and never dared to ask</source>
-        <translation>Все те, про %1, що ви завжди хотіли дізнатись, але не наважувалися спитати</translation>
-    </message>
-</context>
-<context>
-    <name>ClearButton</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>Очистити</translation>
-    </message>
-</context>
-<context>
-    <name>DemoStartupView</name>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
-        <source>Please license %1</source>
-        <translation>Ліцензія %1</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
-        <source>This demo has expired.</source>
-        <translation>Пробний період вичерпано.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
-        <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>Пробний період завершиться за %1 днів.</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
-        <source>By purchasing the full version, you will also support the hard work I put into creating %1.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
-        <source>Use Demo</source>
-        <translation>Пробна версія</translation>
-    </message>
-    <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>Отримати повну версію</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadItem</name>
-    <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
-        <source>bytes</source>
-        <translation>байт</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
-        <source>KB</source>
-        <translation>КБ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
-        <source>MB</source>
-        <translation>МБ</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
-        <source>bytes/sec</source>
-        <translation>байт/сек</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
-        <source>KB/sec</source>
-        <translation>КБ/сек</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
-        <source>MB/sec</source>
-        <translation>МБ/сек</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
-        <source>seconds</source>
-        <translation>секунд</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
-        <source>minutes</source>
-        <translation>хвилин</translation>
-    </message>
-    <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
-        <source>%4 %5 remaining</source>
-        <translation>залишилось %4 %5</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadManager</name>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Це всього лише демо-версія %1.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
-        <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="56"/>
-        <source>Continue</source>
-        <translation>Продовжити</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
-        <source>Get the full version</source>
-        <translation>Отримати повнофункціональну версію</translation>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
-        <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
-        <source>Download finished</source>
-        <translation type="unfinished"/>
-    </message>
-    <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
-        <source>%n Download(s)</source>
-        <translation><numerusform>%n Завантаження</numerusform><numerusform>%n Завантаження</numerusform><numerusform>%n Завантажень</numerusform></translation>
-    </message>
-</context>
-<context>
-    <name>DownloadSettings</name>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
-        <source>Change location...</source>
-        <translation>Змінити теку…</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
-        <source>Choose the download location</source>
-        <translation>Оберіть теку для завантаження</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
-        <source>Download location changed.</source>
-        <translation>Теку завантаження змінено.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
-        <source>Current downloads will still go in the previous location.</source>
-        <translation>Поточні завантаження все ще будуть збережені у попередньому місці.</translation>
-    </message>
-    <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
-        <source>Downloading to: %1</source>
-        <translation>Завантажуеться в %1</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>Завантаження</translation>
-    </message>
-</context>
-<context>
-    <name>GlobalShortcuts</name>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="16"/>
-        <source>Play</source>
-        <translation>Грати</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="17"/>
-        <source>Pause</source>
-        <translation>Пауза</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="18"/>
-        <source>Play/Pause</source>
-        <translation>Грати/Пауза</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="19"/>
-        <source>Stop</source>
-        <translation>Зупинити</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="20"/>
-        <source>Stop playing after current track</source>
-        <translation>Зупинити програвання по завершенні треку</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="21"/>
-        <source>Next track</source>
-        <translation>Наступний трек</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="22"/>
-        <source>Previous track</source>
-        <translation>Попередній трек</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="23"/>
-        <source>Increase volume</source>
-        <translation>Збільшити гучність</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="24"/>
-        <source>Decrease volume</source>
-        <translation>Зменшити гучність</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="25"/>
-        <source>Mute</source>
-        <translation>Приглушити</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="26"/>
-        <source>Seek forward</source>
-        <translation>Шукати наступне</translation>
-    </message>
-    <message>
-        <location filename="src/globalshortcuts.cpp" line="27"/>
-        <source>Seek backward</source>
-        <translation>Шукати попереднє</translation>
-    </message>
-</context>
-<context>
-    <name>ListModel</name>
-    <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>Йде пошук…</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>Показати ще %1</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>Нема відео</translation>
-    </message>
-    <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>Більше немає відео</translation>
-    </message>
-</context>
-<context>
-    <name>LoadingWidget</name>
-    <message>
-        <location filename="src/loadingwidget.cpp" line="90"/>
-        <source>Error</source>
-        <translation>Помилка</translation>
-    </message>
-</context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
-        <source>&amp;Stop</source>
-        <translation>&amp;Зупинити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
-        <source>Stop playback and go back to the search view</source>
-        <translation>Зупинити відтворення та повернутися до вікна пошуку</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
-        <source>S&amp;kip</source>
-        <translation>П&amp;ропустити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
-        <source>Skip to the next video</source>
-        <translation>Перейти до наступного відео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
-        <source>&amp;Pause</source>
-        <translation>&amp;Пауза</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
-        <source>Pause playback</source>
-        <translation>Призупинити відтворення</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
-        <source>&amp;Full Screen</source>
-        <translation>Н&amp;а весь екран</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
-        <source>Go full screen</source>
-        <translation>Переключити на повноекранний режим</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
-        <source>Hide the playlist and the toolbar</source>
-        <translation>Сховати плейлист і панель інструментів</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
-        <source>Go to the YouTube video page and pause playback</source>
-        <translation>Відкрити сторінку на YouTube та призупинити відтворення</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
-        <source>Copy the current video YouTube link to the clipboard</source>
-        <translation>Скопіювати YouTube-посилання поточного відео в буфер</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
-        <source>Copy the current video stream URL to the clipboard</source>
-        <translation>Скопіювати URL поточного відеопотоку в буфер</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
-        <source>Find other video parts hopefully in the right order</source>
-        <translation>Знайти інші частини відео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
-        <source>&amp;Remove</source>
-        <translation>&amp;Вилучити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
-        <source>Remove the selected videos from the playlist</source>
-        <translation>Вилучити вибрані відео з плейлисту</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
-        <source>Move &amp;Up</source>
-        <translation>Зсув в&amp;гору</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
-        <source>Move up the selected videos in the playlist</source>
-        <translation>Зсунути вибрані в плейлисті відео вгору</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
-        <source>Move &amp;Down</source>
-        <translation>Зсунути вни&amp;з</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
-        <source>Move down the selected videos in the playlist</source>
-        <translation>Зсунути вибрані в плейлисті відео вниз</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
-        <source>Clear the search history. Cannot be undone.</source>
-        <translation>Очистити історію пошуку. Зміни необоротні.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
-        <source>&amp;Quit</source>
-        <translation>Ви&amp;хід</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
-        <source>Bye</source>
-        <translation>До побачення</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
-        <source>&amp;Website</source>
-        <translation>Са&amp;йт</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
-        <source>%1 on the Web</source>
-        <translation>%1 в вебі</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
-        <source>Please support the continued development of %1</source>
-        <translation>Будь ласка, підтримайте подальший розвиток %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
-        <source>&amp;About</source>
-        <translation>&amp;Про програму</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
-        <source>Info about %1</source>
-        <translation>Інформація про %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
-        <source>Search</source>
-        <translation>Пошук</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
-        <source>Mute volume</source>
-        <translation>Приглушити гучність</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
-        <source>&amp;Downloads</source>
-        <translation>&amp;Завантаження</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
-        <source>Show details about video downloads</source>
-        <translation>Показати подробиці про завантажувані відео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
-        <source>&amp;Download</source>
-        <translation>&amp;Завантажити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
-        <source>Download the current video</source>
-        <translation>Завантажити поточне відео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
-        <source>Share the current video using %1</source>
-        <translation>Поділитись відео через %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
-        <source>&amp;Email</source>
-        <translation>&amp;Email</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
-        <source>Email</source>
-        <translation>Email</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
-        <source>&amp;Close</source>
-        <translation>&amp;Закрити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
-        <source>&amp;Float on Top</source>
-        <translation>&amp;Поверх всіх вікон</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
-        <source>&amp;Stop After This Video</source>
-        <translation>&amp;Зупинити після цього відео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
-        <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
-        <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
-        <source>&amp;Application</source>
-        <translation>&amp;Програма</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
-        <source>Buy %1...</source>
-        <translation>Придбати %1...</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
-        <source>&amp;Playback</source>
-        <translation>&amp;Відтворення</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
-        <source>&amp;Playlist</source>
-        <translation>&amp;Плейлист</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
-        <source>&amp;Video</source>
-        <translation>В&amp;ідео</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
-        <source>&amp;View</source>
-        <translation>&amp;Вигляд</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
-        <source>&amp;Share</source>
-        <translation>&amp;Поділитись</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
-        <source>&amp;Help</source>
-        <translation>&amp;Довідка</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
-        <source>Press %1 to raise the volume, %2 to lower it</source>
-        <translation>Натисніть %1, щоб збільшити гучність, а %2 — щоб знизити</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
-        <source>Opening %1</source>
-        <translation>Відкриття %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
-        <source>Do you want to exit %1 with a download in progress?</source>
-        <translation>Триває завантаження відео. Ви бажаєте закрити %1?</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
-        <source>If you close %1 now, this download will be cancelled.</source>
-        <translation>Якщо ви закриєте %1 прямо зараз, ці завантаження будуть скасовані.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
-        <source>Close and cancel download</source>
-        <translation>Закрити та скасувати завантаження</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
-        <source>Wait for download to finish</source>
-        <translation>Дочекатися завершення завантаження</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
-        <source>Leave &amp;Full Screen</source>
-        <translation>Вийти з &amp;Повноекранного режиму</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
-        <source>%1 version %2 is now available.</source>
-        <translation>%1 версія %2 доступна.</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
-        <source>Remind me later</source>
-        <translation>Нагадати мені пізніше</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
-        <source>Update</source>
-        <translation>Оновлення</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
-        <source>Error: %1</source>
-        <translation>Помилка: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
-        <source>P&amp;revious</source>
-        <translation>П&amp;опередній</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
-        <source>Go back to the previous track</source>
-        <translation>Повернутись до попереднього треку</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
-        <source>&amp;Compact Mode</source>
-        <translation>&amp;Компактний режим</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
-        <source>Open the &amp;YouTube Page</source>
-        <translation>Відкрити сторінку &amp;YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
-        <source>Copy the YouTube &amp;Link</source>
-        <translation>Ві&amp;дкрити сторінку YouTube</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
-        <source>Copy the Video Stream &amp;URL</source>
-        <translation>Копіювати посилання &amp;на відеопотік</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
-        <source>Find Video &amp;Parts</source>
-        <translation>Знайти &amp;Відеофрагменти</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
-        <source>&amp;Clear Recent Searches</source>
-        <translation>&amp;Очистити попередній пошук</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
-        <source>Make a &amp;Donation</source>
-        <translation>Зробити &amp;Пожертву</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
-        <source>&amp;Manually Start Playing</source>
-        <translation>&amp;Починати програвання вручну</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
-        <source>Manually start playing videos</source>
-        <translation>Manually start playing videos</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
-        <source>&amp;Play</source>
-        <translation>Гр&amp;ати</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
-        <source>Resume playback</source>
-        <translation>Відновити відтворення</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
-        <source>Remaining time: %1</source>
-        <translation>Залишилось часу: %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
-        <source>Volume at %1%</source>
-        <translation>Гучність %1%</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
-        <source>Volume is muted</source>
-        <translation>Гучність приглушено</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
-        <source>Volume is unmuted</source>
-        <translation>Гучність відновлено</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
-        <source>Maximum video definition set to %1</source>
-        <translation>Максимальна чіткість відео встановлена на %1</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
-        <source>Your privacy is now safe</source>
-        <translation>Ваша конфіденційність зараз у безпеці</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
-        <source>Downloads complete</source>
-        <translation>Завантаження завершено</translation>
-    </message>
-</context>
-<context>
-    <name>MediaView</name>
-    <message>
-        <location filename="src/MediaView.cpp" line="546"/>
-        <source>You can now paste the YouTube link into another application</source>
-        <translation>Тепер ви можете вставити це посилання до іншої програми</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="554"/>
-        <source>You can now paste the video stream URL into another application</source>
-        <translation>Тепер ви можете вставити URL відеопотоку до іншої програми</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="555"/>
-        <source>The link will be valid only for a limited time.</source>
-        <translation>Посилання буде дійсне тільки протягом обмеженого часу.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="654"/>
-        <source>This is just the demo version of %1.</source>
-        <translation>Це всього лише демо-версія %1.</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="655"/>
-        <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="685"/>
-        <source>Continue</source>
-        <translation>Продовжити</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="783"/>
-        <source>of</source>
-        <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation>з</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="795"/>
-        <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="797"/>
-        <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="867"/>
-        <source>Sent from %1</source>
-        <translation>Відправити з %1</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="662"/>
-        <source>Get the full version</source>
-        <translation>Отримати повнофункціональну версію</translation>
-    </message>
-    <message>
-        <location filename="src/MediaView.cpp" line="707"/>
-        <source>Downloading %1</source>
-        <translation>Завантаження %1</translation>
-    </message>
-</context>
-<context>
-    <name>NetworkAccess</name>
-    <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>Помилка мережі: %1</translation>
-    </message>
-</context>
-<context>
-    <name>PrettyItemDelegate</name>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
-        <source>%1 views</source>
-        <translation>%1 переглядів</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
-        <source>%1 of %2 (%3) — %4</source>
-        <translation>%1 з %2 (%3) — %4</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
-        <source>Preparing</source>
-        <translation>Готується</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
-        <source>Failed</source>
-        <translation>Не вдалося</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
-        <source>Completed</source>
-        <translation>Завершено</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
-        <source>Stopped</source>
-        <translation>Зупинено</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
-        <source>Stop downloading</source>
-        <translation>Зупинити завантаження</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
-        <source>Show in %1</source>
-        <translation>Показати у %1</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
-        <source>Open parent folder</source>
-        <translation>Перейти до теки з відео</translation>
-    </message>
-    <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
-        <source>Restart downloading</source>
-        <translation>Завантажити заново</translation>
-    </message>
-</context>
-<context>
-    <name>RefineSearchWidget</name>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
-        <source>Sort by</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
-        <source>Relevance</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
-        <source>Date</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
-        <source>View Count</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
-        <source>Rating</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
-        <source>Anytime</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
-        <source>Today</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
-        <source>7 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
-        <source>30 Days</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
-        <source>Duration</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
-        <source>All</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
-        <source>Short</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
-        <source>Medium</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
-        <source>Long</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
-        <source>Less than 4 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
-        <source>Between 4 and 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
-        <source>Longer than 20 minutes</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
-        <source>Quality</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
-        <source>High Definition</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
-        <source>720p or higher</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
-        <source>Done</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>SearchLineEdit</name>
-    <message>
-        <location filename="src/searchlineedit.cpp" line="177"/>
-        <source>Search</source>
-        <translation>Пошук</translation>
-    </message>
-</context>
-<context>
-    <name>SearchView</name>
-    <message>
-        <location filename="src/SearchView.cpp" line="88"/>
-        <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="49"/>
-        <source>Get the full version</source>
-        <translation>Отримати повнофункціональну версію</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="102"/>
-        <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>Введіть</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="107"/>
-        <source>a keyword</source>
-        <translation>ключове слово</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="108"/>
-        <source>a channel</source>
-        <translation>канал</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="113"/>
-        <source>to start watching videos.</source>
-        <translation>, щоб почати дивитися відео.</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="137"/>
-        <source>Watch</source>
-        <translation>Перегляд</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="155"/>
-        <source>Recent keywords</source>
-        <translation>Останні ключові слова</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.cpp" line="168"/>
-        <source>Recent channels</source>
-        <translation>Останні канали</translation>
-    </message>
-    <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>Влаштовуйтеся зручніше</translation>
-    </message>
-</context>
-<context>
-    <name>SidebarWidget</name>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
-        <source>Refine Search</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
-        <source>Did you mean: %1</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Video</name>
-    <message>
-        <location filename="src/video.cpp" line="200"/>
-        <source>Cannot get video stream for %1</source>
-        <translation>Неможливо отримати відеопоток для %1</translation>
-    </message>
-    <message>
-        <location filename="src/video.cpp" line="218"/>
-        <source>Network error: %1 for %2</source>
-        <translation>Помилка мережі: %1 для %2</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
index 279d051d84d741c3ef239ab805fb63f5b6791ff9..a2c8e6174c2548bd4ea375161eecbda904b395bd 100644 (file)
 <context>
     <name>AboutView</name>
     <message>
-        <location filename="src/AboutView.cpp" line="28"/>
+        <location filename="src/aboutview.cpp" line="32"/>
         <source>There&apos;s life outside the browser!</source>
         <translation>浏览器之外,生活亦精彩!</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="29"/>
+        <location filename="src/aboutview.cpp" line="33"/>
         <source>Version %1</source>
         <translation>版本:%1</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="33"/>
+        <location filename="src/aboutview.cpp" line="38"/>
+        <source>Licensed to: %1</source>
+        <translation>遵循协议:%1</translation>
+    </message>
+    <message>
+        <location filename="src/aboutview.cpp" line="42"/>
         <source>%1 is Free Software but its development takes precious time.</source>
         <translation>%1 是自由软件。其开发也同样要耗用宝贵时间的。</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="34"/>
+        <location filename="src/aboutview.cpp" line="43"/>
         <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="38"/>
+        <location filename="src/aboutview.cpp" line="47"/>
         <source>You may want to try my other apps as well:</source>
         <translation>您或许也想尝试我的其他程序:</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="41"/>
+        <location filename="src/aboutview.cpp" line="50"/>
         <source>%1, a YouTube music player</source>
         <translation>%1,一个 YouTube 音乐播放器</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="45"/>
+        <location filename="src/aboutview.cpp" line="54"/>
         <source>%1, a music player</source>
-        <translation type="unfinished"/>
+        <translation>%1,音乐播放器</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="51"/>
+        <location filename="src/aboutview.cpp" line="60"/>
         <source>Translate %1 to your native language using %2</source>
         <translation>使用 %2 将 %1 翻译为您的母语</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="56"/>
+        <location filename="src/aboutview.cpp" line="65"/>
         <source>Icon designed by %1.</source>
         <translation>图标设计:%1。</translation>
     </message>
     <message>
-        <location filename="src/AboutView.cpp" line="60"/>
+        <location filename="src/aboutview.cpp" line="69"/>
         <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="73"/>
+        <location filename="src/aboutview.cpp" line="84"/>
         <source>&amp;Close</source>
         <translation>关闭(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="25"/>
+        <location filename="src/aboutview.h" line="17"/>
         <source>About</source>
         <translation>关于</translation>
     </message>
     <message>
-        <location filename="src/AboutView.h" line="27"/>
+        <location filename="src/aboutview.h" line="19"/>
         <source>What you always wanted to know about %1 and never dared to ask</source>
         <translation>您对 %1 的期望都有什么,还请不吝赐教。</translation>
     </message>
 </context>
 <context>
-    <name>ClearButton</name>
+    <name>ActivationDialog</name>
     <message>
-        <location filename="src/searchlineedit.cpp" line="56"/>
-        <source>Clear</source>
-        <translation>清除</translation>
+        <location filename="local/src/activationdialog.cpp" line="17"/>
+        <source>Enter your License Details</source>
+        <translation>输入您的许可协议详情</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="29"/>
+        <source>&amp;Email:</source>
+        <translation>邮件(&amp;E):</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationdialog.cpp" line="35"/>
+        <source>&amp;Code:</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>DemoStartupView</name>
+    <name>ActivationView</name>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="35"/>
+        <location filename="local/src/activationview.cpp" line="47"/>
         <source>Please license %1</source>
         <translation>请购买 %1 授权</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="39"/>
+        <location filename="local/src/activationview.cpp" line="51"/>
         <source>This demo has expired.</source>
-        <translation>该试用版已经过期。</translation>
+        <translation>该 Demo 已经过期。</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="41"/>
+        <location filename="local/src/activationview.cpp" line="53"/>
         <source>The full version allows you to download videos longer than %1 minutes and to watch videos without interruptions.</source>
-        <translation type="unfinished"/>
+        <translation>完整版本允许您下载超过 %1 分钟的视频并可不间断观赏。</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="43"/>
-        <source>This demo will expire in %1 days.</source>
-        <translation>该试用版将在 %1 内过期。</translation>
+        <location filename="local/src/activationview.cpp" line="55"/>
+        <source>Without a license, the application will expire in %1 days.</source>
+        <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="45"/>
+        <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>通过购买完整版本,您也将支持我在创建 %1 时的辛苦工作。</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="57"/>
+        <location filename="local/src/activationview.cpp" line="70"/>
         <source>Use Demo</source>
-        <translation>使用试用版</translation>
+        <translation>使用 Demo</translation>
     </message>
     <message>
-        <location filename="local/src/demostartupview.cpp" line="65"/>
-        <source>Get the full version</source>
-        <translation>获取完整版</translation>
+        <location filename="local/src/activationview.cpp" line="77"/>
+        <source>Enter License</source>
+        <translation>输入许可</translation>
+    </message>
+    <message>
+        <location filename="local/src/activationview.cpp" line="85"/>
+        <source>Buy License</source>
+        <translation>购买许可</translation>
+    </message>
+</context>
+<context>
+    <name>ClearButton</name>
+    <message>
+        <location filename="src/searchlineedit.cpp" line="56"/>
+        <source>Clear</source>
+        <translation>清除</translation>
     </message>
 </context>
 <context>
     <name>DownloadItem</name>
     <message>
-        <location filename="src/downloaditem.cpp" line="312"/>
+        <location filename="src/downloaditem.cpp" line="322"/>
         <source>bytes</source>
         <translation>字节</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="315"/>
+        <location filename="src/downloaditem.cpp" line="325"/>
         <source>KB</source>
         <translation>千字节</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="318"/>
+        <location filename="src/downloaditem.cpp" line="328"/>
         <source>MB</source>
         <translation>兆字节</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="327"/>
+        <location filename="src/downloaditem.cpp" line="337"/>
         <source>bytes/sec</source>
         <translation>字节/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="330"/>
+        <location filename="src/downloaditem.cpp" line="340"/>
         <source>KB/sec</source>
         <translation>千字节/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="333"/>
+        <location filename="src/downloaditem.cpp" line="343"/>
         <source>MB/sec</source>
         <translation>兆字节/秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="339"/>
+        <location filename="src/downloaditem.cpp" line="349"/>
         <source>seconds</source>
         <translation>秒</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="342"/>
+        <location filename="src/downloaditem.cpp" line="352"/>
         <source>minutes</source>
         <translation>分</translation>
     </message>
     <message>
-        <location filename="src/downloaditem.cpp" line="345"/>
+        <location filename="src/downloaditem.cpp" line="355"/>
         <source>%4 %5 remaining</source>
-        <translation>%4 %5 剩余</translation>
+        <translation>剩余 %4 %5 </translation>
     </message>
 </context>
 <context>
     <name>DownloadManager</name>
     <message>
-        <location filename="src/downloadmanager.cpp" line="48"/>
+        <location filename="src/downloadmanager.cpp" line="55"/>
         <source>This is just the demo version of %1.</source>
         <translation>这只是 %1 的演示版。</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="50"/>
+        <location filename="src/downloadmanager.cpp" line="57"/>
         <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="56"/>
+        <location filename="src/downloadmanager.cpp" line="63"/>
         <source>Continue</source>
         <translation>继续</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="57"/>
+        <location filename="src/downloadmanager.cpp" line="64"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="142"/>
+        <location filename="src/downloadmanager.cpp" line="150"/>
         <source>%1 downloaded in %2</source>
-        <translation type="unfinished"/>
+        <translation>%1 已下载(%2)</translation>
     </message>
     <message>
-        <location filename="src/downloadmanager.cpp" line="145"/>
+        <location filename="src/downloadmanager.cpp" line="153"/>
         <source>Download finished</source>
         <translation>下载完成</translation>
     </message>
     <message numerus="yes">
-        <location filename="src/downloadmanager.cpp" line="151"/>
+        <location filename="src/downloadmanager.cpp" line="159"/>
         <source>%n Download(s)</source>
         <translation><numerusform>下载数:%n</numerusform></translation>
     </message>
 <context>
     <name>DownloadSettings</name>
     <message>
-        <location filename="src/downloadsettings.cpp" line="14"/>
+        <location filename="src/downloadsettings.cpp" line="15"/>
         <source>Change location...</source>
         <translation>更改存储位置……</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="46"/>
+        <location filename="src/downloadsettings.cpp" line="47"/>
         <source>Choose the download location</source>
         <translation>选择下载存储位置</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="61"/>
+        <location filename="src/downloadsettings.cpp" line="59"/>
         <source>Download location changed.</source>
         <translation>下载存储位置已修改。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="63"/>
+        <location filename="src/downloadsettings.cpp" line="61"/>
         <source>Current downloads will still go in the previous location.</source>
         <translation>当前下载仍然保持前一个存储位置。</translation>
     </message>
     <message>
-        <location filename="src/downloadsettings.cpp" line="75"/>
+        <location filename="src/downloadsettings.cpp" line="72"/>
         <source>Downloading to: %1</source>
         <translation>当前下载存储位置:%1</translation>
     </message>
         <translation>下载情况</translation>
     </message>
 </context>
+<context>
+    <name>DownloadWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="60"/>
+        <source>Downloading update...</source>
+        <translation>正在下载更新...</translation>
+    </message>
+</context>
 <context>
     <name>GlobalShortcuts</name>
     <message>
     <message>
         <location filename="src/globalshortcuts.cpp" line="23"/>
         <source>Increase volume</source>
-        <translation>调高音量</translation>
+        <translation>增加音量</translation>
     </message>
     <message>
         <location filename="src/globalshortcuts.cpp" line="24"/>
         <source>Decrease volume</source>
-        <translation>调低音量</translation>
+        <translation>减小音量</translation>
     </message>
     <message>
         <location filename="src/globalshortcuts.cpp" line="25"/>
     </message>
 </context>
 <context>
-    <name>ListModel</name>
+    <name>HomeView</name>
     <message>
-        <location filename="src/ListModel.cpp" line="51"/>
-        <source>Searching...</source>
-        <translation>搜索中……</translation>
+        <location filename="src/homeview.cpp" line="33"/>
+        <source>Search</source>
+        <translation>搜索</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="52"/>
-        <source>Show %1 More</source>
-        <translation>再多显示 %1</translation>
+        <location filename="src/homeview.cpp" line="35"/>
+        <source>Find videos and channels by keyword</source>
+        <translation>按关键词查找视频和频道</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="53"/>
-        <source>No videos</source>
-        <translation>没æ\9c\89è§\86é¢\91</translation>
+        <location filename="src/homeview.cpp" line="40"/>
+        <source>Browse</source>
+        <translation>æµ\8fè§\88</translation>
     </message>
     <message>
-        <location filename="src/ListModel.cpp" line="54"/>
-        <source>No more videos</source>
-        <translation>没有更多视频</translation>
+        <location filename="src/homeview.cpp" line="42"/>
+        <source>Browse videos by category</source>
+        <translation>按分类查找视频</translation>
+    </message>
+    <message>
+        <location filename="src/homeview.h" line="22"/>
+        <source>Make yourself comfortable</source>
+        <translation>请您尽情享受吧!</translation>
     </message>
 </context>
 <context>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="src/MainWindow.cpp" line="170"/>
+        <location filename="src/mainwindow.cpp" line="213"/>
         <source>&amp;Stop</source>
         <translation>停止(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="171"/>
+        <location filename="src/mainwindow.cpp" line="214"/>
         <source>Stop playback and go back to the search view</source>
         <translation>停止回放并返回搜索视图</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="189"/>
+        <location filename="src/mainwindow.cpp" line="232"/>
         <source>S&amp;kip</source>
         <translation>跳过(&amp;k)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="190"/>
+        <location filename="src/mainwindow.cpp" line="233"/>
         <source>Skip to the next video</source>
         <translation>跳至下一视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="196"/>
-        <location filename="src/MainWindow.cpp" line="895"/>
+        <location filename="src/mainwindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="989"/>
         <source>&amp;Pause</source>
         <translation>暂停(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="197"/>
-        <location filename="src/MainWindow.cpp" line="896"/>
+        <location filename="src/mainwindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="990"/>
         <source>Pause playback</source>
         <translation>暂停回放</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="203"/>
+        <location filename="src/mainwindow.cpp" line="246"/>
         <source>&amp;Full Screen</source>
         <translation>全屏(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="204"/>
+        <location filename="src/mainwindow.cpp" line="247"/>
         <source>Go full screen</source>
         <translation>全屏播放</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="220"/>
+        <location filename="src/mainwindow.cpp" line="263"/>
         <source>Hide the playlist and the toolbar</source>
         <translation>隐藏播放列表和工具栏</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="233"/>
+        <location filename="src/mainwindow.cpp" line="276"/>
         <source>Go to the YouTube video page and pause playback</source>
         <translation>打开YouTube视频页面并暂停回放</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="240"/>
+        <location filename="src/mainwindow.cpp" line="283"/>
         <source>Copy the current video YouTube link to the clipboard</source>
         <translation>复制当前视频的YouTube链接到剪贴板中</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="247"/>
+        <location filename="src/mainwindow.cpp" line="290"/>
         <source>Copy the current video stream URL to the clipboard</source>
         <translation>复制当前视频流的URL到剪贴板中</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="254"/>
+        <location filename="src/mainwindow.cpp" line="297"/>
         <source>Find other video parts hopefully in the right order</source>
-        <translation type="unfinished"/>
+        <translation>以正确的顺序查找其他视频部分</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="260"/>
+        <location filename="src/mainwindow.cpp" line="303"/>
         <source>&amp;Remove</source>
         <translation>移除(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="261"/>
+        <location filename="src/mainwindow.cpp" line="304"/>
         <source>Remove the selected videos from the playlist</source>
         <translation>从播放列表中移除选定的视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="267"/>
+        <location filename="src/mainwindow.cpp" line="310"/>
         <source>Move &amp;Up</source>
         <translation>上移(&amp;U)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="268"/>
+        <location filename="src/mainwindow.cpp" line="311"/>
         <source>Move up the selected videos in the playlist</source>
         <translation>在播放列表中向上移动选定的视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="274"/>
+        <location filename="src/mainwindow.cpp" line="317"/>
         <source>Move &amp;Down</source>
         <translation>下移(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="275"/>
+        <location filename="src/mainwindow.cpp" line="318"/>
         <source>Move down the selected videos in the playlist</source>
         <translation>在播放列表中向下移动选定的视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="286"/>
+        <location filename="src/mainwindow.cpp" line="329"/>
         <source>Clear the search history. Cannot be undone.</source>
         <translation>清除搜索历史。注意:清除的历史不可恢复。</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="291"/>
+        <location filename="src/mainwindow.cpp" line="334"/>
         <source>&amp;Quit</source>
         <translation>退出(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="294"/>
+        <location filename="src/mainwindow.cpp" line="337"/>
         <source>Bye</source>
-        <translation>再</translation>
+        <translation>再</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="298"/>
+        <location filename="src/mainwindow.cpp" line="341"/>
         <source>&amp;Website</source>
         <translation>网站(&amp;W)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="300"/>
+        <location filename="src/mainwindow.cpp" line="343"/>
         <source>%1 on the Web</source>
         <translation>%1在网站上</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="306"/>
+        <location filename="src/mainwindow.cpp" line="349"/>
         <source>Please support the continued development of %1</source>
-        <translation>请您支持 %1 的可持续发展。</translation>
+        <translation>请您支持 %1 的继续开发</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="311"/>
+        <location filename="src/mainwindow.cpp" line="354"/>
         <source>&amp;About</source>
         <translation>关于(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="313"/>
+        <location filename="src/mainwindow.cpp" line="356"/>
         <source>Info about %1</source>
         <translation>关于 %1 的信息</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="321"/>
+        <location filename="src/mainwindow.cpp" line="364"/>
         <source>Search</source>
         <translation>搜索</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="340"/>
+        <location filename="src/mainwindow.cpp" line="383"/>
         <source>Mute volume</source>
         <translation>静音</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="369"/>
-        <location filename="src/MainWindow.cpp" line="1260"/>
+        <location filename="src/mainwindow.cpp" line="412"/>
+        <location filename="src/mainwindow.cpp" line="1365"/>
         <source>&amp;Downloads</source>
         <translation>下载(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="370"/>
+        <location filename="src/mainwindow.cpp" line="413"/>
         <source>Show details about video downloads</source>
         <translation>显示视频下载详情</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="378"/>
+        <location filename="src/mainwindow.cpp" line="421"/>
         <source>&amp;Download</source>
         <translation>下载(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="379"/>
+        <location filename="src/mainwindow.cpp" line="422"/>
         <source>Download the current video</source>
         <translation>下载当前视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="398"/>
+        <location filename="src/mainwindow.cpp" line="441"/>
         <source>Share the current video using %1</source>
-        <translation type="unfinished"/>
+        <translation>使用 %1 分享当前视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="415"/>
+        <location filename="src/mainwindow.cpp" line="458"/>
         <source>&amp;Email</source>
-        <translation type="unfinished"/>
+        <translation>电子邮件(&amp;E)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="416"/>
+        <location filename="src/mainwindow.cpp" line="459"/>
         <source>Email</source>
-        <translation type="unfinished"/>
+        <translation>电子邮件</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="420"/>
+        <location filename="src/mainwindow.cpp" line="463"/>
         <source>&amp;Close</source>
         <translation>关闭(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="430"/>
+        <location filename="src/mainwindow.cpp" line="473"/>
         <source>&amp;Float on Top</source>
-        <translation type="unfinished"/>
+        <translation>窗口置顶(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="435"/>
+        <location filename="src/mainwindow.cpp" line="478"/>
         <source>&amp;Stop After This Video</source>
-        <translation type="unfinished"/>
+        <translation>该视频后停止播放(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="442"/>
+        <location filename="src/mainwindow.cpp" line="485"/>
         <source>&amp;Report an Issue...</source>
-        <translation type="unfinished"/>
+        <translation>报告问题&amp;R…</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="446"/>
+        <location filename="src/mainwindow.cpp" line="489"/>
         <source>&amp;Refine Search...</source>
-        <translation type="unfinished"/>
+        <translation>精确搜索(&amp;R)...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="481"/>
+        <location filename="src/mainwindow.cpp" line="501"/>
+        <source>More...</source>
+        <translation>更多...</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="504"/>
+        <source>&amp;Related Videos</source>
+        <translation>相关视频(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="506"/>
+        <source>Watch videos related to the current one</source>
+        <translation>查看与当前视频相关的视频</translation>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="544"/>
         <source>&amp;Application</source>
         <translation>应用程序(&amp;A)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="483"/>
+        <location filename="src/mainwindow.cpp" line="515"/>
         <source>Buy %1...</source>
         <translation>购买 %1...</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="494"/>
+        <location filename="src/mainwindow.cpp" line="558"/>
         <source>&amp;Playback</source>
-        <translation>回放(_P)</translation>
+        <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="508"/>
+        <location filename="src/mainwindow.cpp" line="572"/>
         <source>&amp;Playlist</source>
         <translation>播放列表(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="517"/>
+        <location filename="src/mainwindow.cpp" line="581"/>
         <source>&amp;Video</source>
         <translation>视频(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="529"/>
+        <location filename="src/mainwindow.cpp" line="594"/>
         <source>&amp;View</source>
-        <translation>查看(_V)</translation>
+        <translation>查看(&amp;V)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="536"/>
+        <location filename="src/mainwindow.cpp" line="601"/>
         <source>&amp;Share</source>
-        <translation type="unfinished"/>
+        <translation>分享(&amp;S)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="550"/>
+        <location filename="src/mainwindow.cpp" line="615"/>
         <source>&amp;Help</source>
         <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="628"/>
+        <location filename="src/mainwindow.cpp" line="690"/>
         <source>Press %1 to raise the volume, %2 to lower it</source>
         <translation>按住 %1 提高音量,%2 降低音量</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="800"/>
-        <location filename="src/MainWindow.cpp" line="806"/>
+        <location filename="src/mainwindow.cpp" line="889"/>
+        <location filename="src/mainwindow.cpp" line="895"/>
         <source>Opening %1</source>
         <translation>正在打开 %1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="847"/>
+        <location filename="src/mainwindow.cpp" line="936"/>
         <source>Do you want to exit %1 with a download in progress?</source>
         <translation>当前还有尚未完成的下载。您确定要退出 %1 吗?</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="848"/>
+        <location filename="src/mainwindow.cpp" line="937"/>
         <source>If you close %1 now, this download will be cancelled.</source>
         <translation>如果您现在关闭 %1 ,那么本下载将被取消。</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="853"/>
+        <location filename="src/mainwindow.cpp" line="942"/>
         <source>Close and cancel download</source>
         <translation>关闭并取消下载</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="854"/>
+        <location filename="src/mainwindow.cpp" line="943"/>
         <source>Wait for download to finish</source>
         <translation>等待下载完成</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1008"/>
+        <location filename="src/mainwindow.cpp" line="1102"/>
         <source>Leave &amp;Full Screen</source>
-        <translation>离开全屏模式(_F)</translation>
+        <translation>离开全屏模式(&amp;F)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1363"/>
+        <location filename="src/mainwindow.cpp" line="1475"/>
         <source>%1 version %2 is now available.</source>
         <translation>%1 版本 %2 现在可用。</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1377"/>
+        <location filename="src/mainwindow.cpp" line="1479"/>
         <source>Remind me later</source>
         <translation>稍后提醒我</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1374"/>
-        <source>To get the updated version, download %1 again from the link you received via email and reinstall.</source>
-        <translation>要下载更新版本,从您获得的邮件中的链接重新下载 %1 并重新安装。</translation>
-    </message>
-    <message>
-        <location filename="src/MainWindow.cpp" line="1381"/>
+        <location filename="src/mainwindow.cpp" line="1480"/>
         <source>Update</source>
         <translation>更新</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="888"/>
+        <location filename="src/mainwindow.cpp" line="982"/>
         <source>Error: %1</source>
         <translation>错误:%1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="179"/>
+        <location filename="src/mainwindow.cpp" line="222"/>
         <source>P&amp;revious</source>
-        <translation type="unfinished"/>
+        <translation>上一首(&amp;R)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="180"/>
+        <location filename="src/mainwindow.cpp" line="223"/>
         <source>Go back to the previous track</source>
-        <translation>回退到上一首音轨</translation>
+        <translation>饭回到上一首音轨</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="219"/>
+        <location filename="src/mainwindow.cpp" line="262"/>
         <source>&amp;Compact Mode</source>
-        <translation type="unfinished"/>
+        <translation>紧凑模式(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="232"/>
+        <location filename="src/mainwindow.cpp" line="275"/>
         <source>Open the &amp;YouTube Page</source>
-        <translation type="unfinished"/>
+        <translation>打开 YouTube 页面(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="239"/>
+        <location filename="src/mainwindow.cpp" line="282"/>
         <source>Copy the YouTube &amp;Link</source>
-        <translation type="unfinished"/>
+        <translation>复制 YouTube 链接(&amp;L)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="246"/>
+        <location filename="src/mainwindow.cpp" line="289"/>
         <source>Copy the Video Stream &amp;URL</source>
-        <translation type="unfinished"/>
+        <translation>复制视频流 URL</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="253"/>
+        <location filename="src/mainwindow.cpp" line="296"/>
         <source>Find Video &amp;Parts</source>
-        <translation type="unfinished"/>
+        <translation>查找视频部分(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="281"/>
+        <location filename="src/mainwindow.cpp" line="324"/>
         <source>&amp;Clear Recent Searches</source>
-        <translation type="unfinished"/>
+        <translation>清除最近的搜索(&amp;C)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="305"/>
+        <location filename="src/mainwindow.cpp" line="348"/>
         <source>Make a &amp;Donation</source>
         <translation>捐助(&amp;D)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="362"/>
+        <location filename="src/mainwindow.cpp" line="405"/>
         <source>&amp;Manually Start Playing</source>
-        <translation type="unfinished"/>
+        <translation>手动开始播放(&amp;M)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="363"/>
+        <location filename="src/mainwindow.cpp" line="406"/>
         <source>Manually start playing videos</source>
         <translation>手动开始播放视频</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="908"/>
+        <location filename="src/mainwindow.cpp" line="728"/>
+        <source>Choose your content location</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/mainwindow.cpp" line="1002"/>
         <source>&amp;Play</source>
         <translation>播放(&amp;P)</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="909"/>
+        <location filename="src/mainwindow.cpp" line="1003"/>
         <source>Resume playback</source>
-        <translation>继续回放</translation>
+        <translation>恢复播放</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1136"/>
+        <location filename="src/mainwindow.cpp" line="1236"/>
         <source>Remaining time: %1</source>
         <translation>剩余时间:%1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1194"/>
+        <location filename="src/mainwindow.cpp" line="1294"/>
         <source>Volume at %1%</source>
         <translation>音量:%1%</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1200"/>
+        <location filename="src/mainwindow.cpp" line="1300"/>
         <source>Volume is muted</source>
         <translation>已设为静音</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1203"/>
+        <location filename="src/mainwindow.cpp" line="1303"/>
         <source>Volume is unmuted</source>
         <translation>静音已解除</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1210"/>
+        <location filename="src/mainwindow.cpp" line="1310"/>
         <source>Maximum video definition set to %1</source>
         <translation>最大视频定义设置为%1</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1246"/>
+        <location filename="src/mainwindow.cpp" line="1351"/>
         <source>Your privacy is now safe</source>
         <translation>您的隐私已受保护</translation>
     </message>
     <message>
-        <location filename="src/MainWindow.cpp" line="1261"/>
+        <location filename="src/mainwindow.cpp" line="1366"/>
         <source>Downloads complete</source>
         <translation>下载完成</translation>
     </message>
 <context>
     <name>MediaView</name>
     <message>
-        <location filename="src/MediaView.cpp" line="546"/>
+        <location filename="src/mediaview.cpp" line="553"/>
         <source>You can now paste the YouTube link into another application</source>
         <translation>您现在可以把YouTube的链接粘贴到其他应用了</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="554"/>
+        <location filename="src/mediaview.cpp" line="561"/>
         <source>You can now paste the video stream URL into another application</source>
         <translation>您现在可以把视频流的链接粘贴到其他应用了</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="555"/>
+        <location filename="src/mediaview.cpp" line="562"/>
         <source>The link will be valid only for a limited time.</source>
         <translation>此链接仅能保持短时间的有效性。</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="654"/>
+        <location filename="src/mediaview.cpp" line="636"/>
         <source>This is just the demo version of %1.</source>
         <translation>这仅是 %1 的演示版。</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="655"/>
+        <location filename="src/mediaview.cpp" line="637"/>
         <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="685"/>
+        <location filename="src/mediaview.cpp" line="667"/>
         <source>Continue</source>
         <translation>继续</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="783"/>
+        <location filename="src/mediaview.cpp" line="756"/>
         <source>of</source>
         <comment>Used in video parts, as in '2 of 3'</comment>
-        <translation type="unfinished"/>
+        <translation>之</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="795"/>
+        <location filename="src/mediaview.cpp" line="768"/>
         <source>part</source>
         <comment>This is for video parts, as in 'Cool video - part 1'</comment>
-        <translation type="unfinished"/>
+        <translation>部分</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="797"/>
+        <location filename="src/mediaview.cpp" line="770"/>
         <source>episode</source>
         <comment>This is for video parts, as in 'Cool series - episode 1'</comment>
-        <translation type="unfinished"/>
+        <translation>集</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="867"/>
+        <location filename="src/mediaview.cpp" line="847"/>
         <source>Sent from %1</source>
-        <translation type="unfinished"/>
+        <translation>由 %1 发送</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="662"/>
+        <location filename="src/mediaview.cpp" line="644"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/MediaView.cpp" line="707"/>
+        <location filename="src/mediaview.cpp" line="681"/>
         <source>Downloading %1</source>
         <translation>正在下载 %1</translation>
     </message>
 </context>
 <context>
-    <name>NetworkAccess</name>
+    <name>MessageWidget</name>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="21"/>
+        <source>A new version of %1 is available!</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="28"/>
+        <source>%1 %2 is now available. You have %3.</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="33"/>
+        <source>Would you like to download it now?</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="39"/>
+        <source>Skip This Version</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="43"/>
+        <source>Remind Me Later</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="local/src/updatedialog.cpp" line="47"/>
+        <source>Install Update</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>PasteLineEdit</name>
     <message>
-        <location filename="src/networkaccess.cpp" line="214"/>
-        <source>Network error: %1</source>
-        <translation>网络错误:%1</translation>
+        <location filename="local/src/pastelineedit.cpp" line="6"/>
+        <source>Paste</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
-    <name>PrettyItemDelegate</name>
+    <name>PlaylistItemDelegate</name>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="171"/>
+        <location filename="src/playlistitemdelegate.cpp" line="159"/>
         <source>%1 views</source>
         <translation>%1 人次观看</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="297"/>
+        <location filename="src/playlistitemdelegate.cpp" line="285"/>
         <source>%1 of %2 (%3) — %4</source>
         <translation>%1 之 %2 (%3) — %4</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="304"/>
+        <location filename="src/playlistitemdelegate.cpp" line="292"/>
         <source>Preparing</source>
         <translation>准备中</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="306"/>
+        <location filename="src/playlistitemdelegate.cpp" line="294"/>
         <source>Failed</source>
         <translation>已失败</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="308"/>
+        <location filename="src/playlistitemdelegate.cpp" line="296"/>
         <source>Completed</source>
         <translation>已完成</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="310"/>
+        <location filename="src/playlistitemdelegate.cpp" line="298"/>
         <source>Stopped</source>
         <translation>已停止</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="346"/>
+        <location filename="src/playlistitemdelegate.cpp" line="334"/>
         <source>Stop downloading</source>
         <translation>停止下载</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="356"/>
+        <location filename="src/playlistitemdelegate.cpp" line="344"/>
         <source>Show in %1</source>
         <translation>显示到 %1</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="358"/>
+        <location filename="src/playlistitemdelegate.cpp" line="346"/>
         <source>Open parent folder</source>
         <translation>打开上层目录</translation>
     </message>
     <message>
-        <location filename="src/playlist/PrettyItemDelegate.cpp" line="367"/>
+        <location filename="src/playlistitemdelegate.cpp" line="355"/>
         <source>Restart downloading</source>
         <translation>重新下载</translation>
     </message>
 </context>
+<context>
+    <name>PlaylistModel</name>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="52"/>
+        <source>Searching...</source>
+        <translation>搜索中……</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="53"/>
+        <source>Show %1 More</source>
+        <translation>再多显示 %1</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="54"/>
+        <source>No videos</source>
+        <translation>没有视频</translation>
+    </message>
+    <message>
+        <location filename="src/playlistmodel.cpp" line="55"/>
+        <source>No more videos</source>
+        <translation>没有更多视频</translation>
+    </message>
+</context>
 <context>
     <name>RefineSearchWidget</name>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="27"/>
+        <location filename="src/refinesearchwidget.cpp" line="31"/>
         <source>Sort by</source>
         <translation>排序</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="31"/>
+        <location filename="src/refinesearchwidget.cpp" line="35"/>
         <source>Relevance</source>
-        <translation type="unfinished"/>
+        <translation>相关性</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="32"/>
-        <location filename="src/refinesearchwidget.cpp" line="48"/>
+        <location filename="src/refinesearchwidget.cpp" line="36"/>
+        <location filename="src/refinesearchwidget.cpp" line="52"/>
         <source>Date</source>
         <translation>日期</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="33"/>
+        <location filename="src/refinesearchwidget.cpp" line="37"/>
         <source>View Count</source>
         <translation>查看计数</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="34"/>
+        <location filename="src/refinesearchwidget.cpp" line="38"/>
         <source>Rating</source>
         <translation>评分</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="52"/>
+        <location filename="src/refinesearchwidget.cpp" line="56"/>
         <source>Anytime</source>
         <translation>任何时候</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="53"/>
+        <location filename="src/refinesearchwidget.cpp" line="57"/>
         <source>Today</source>
         <translation>今天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="54"/>
+        <location filename="src/refinesearchwidget.cpp" line="58"/>
         <source>7 Days</source>
         <translation>7 天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="55"/>
+        <location filename="src/refinesearchwidget.cpp" line="59"/>
         <source>30 Days</source>
         <translation>30 天</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="69"/>
+        <location filename="src/refinesearchwidget.cpp" line="73"/>
         <source>Duration</source>
         <translation>持续时长</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="73"/>
-        <location filename="src/refinesearchwidget.cpp" line="100"/>
+        <location filename="src/refinesearchwidget.cpp" line="77"/>
+        <location filename="src/refinesearchwidget.cpp" line="104"/>
         <source>All</source>
         <translation>全部</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="74"/>
+        <location filename="src/refinesearchwidget.cpp" line="78"/>
         <source>Short</source>
         <translation>短</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="75"/>
+        <location filename="src/refinesearchwidget.cpp" line="79"/>
         <source>Medium</source>
         <translation>中等</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="76"/>
+        <location filename="src/refinesearchwidget.cpp" line="80"/>
         <source>Long</source>
         <translation>长</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="79"/>
+        <location filename="src/refinesearchwidget.cpp" line="83"/>
         <source>Less than 4 minutes</source>
         <translation>少于 4 分钟</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="80"/>
+        <location filename="src/refinesearchwidget.cpp" line="84"/>
         <source>Between 4 and 20 minutes</source>
         <translation>4 到 20 分钟之间</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="81"/>
+        <location filename="src/refinesearchwidget.cpp" line="85"/>
         <source>Longer than 20 minutes</source>
         <translation>长于 20 分钟</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="96"/>
+        <location filename="src/refinesearchwidget.cpp" line="100"/>
         <source>Quality</source>
         <translation>质量</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="101"/>
+        <location filename="src/refinesearchwidget.cpp" line="105"/>
         <source>High Definition</source>
         <translation>高分辨率</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="104"/>
+        <location filename="src/refinesearchwidget.cpp" line="108"/>
         <source>720p or higher</source>
         <translation>720p 或更高</translation>
     </message>
     <message>
-        <location filename="src/refinesearchwidget.cpp" line="118"/>
+        <location filename="src/refinesearchwidget.cpp" line="122"/>
         <source>Done</source>
         <translation>完成</translation>
     </message>
 </context>
+<context>
+    <name>RegionsView</name>
+    <message>
+        <location filename="src/regionsview.cpp" line="19"/>
+        <source>Done</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>SearchLineEdit</name>
     <message>
 <context>
     <name>SearchView</name>
     <message>
-        <location filename="src/SearchView.cpp" line="88"/>
+        <location filename="src/searchview.cpp" line="71"/>
         <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="49"/>
+        <location filename="src/searchview.cpp" line="50"/>
         <source>Get the full version</source>
         <translation>获取完整版</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="102"/>
+        <location filename="src/searchview.cpp" line="85"/>
         <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>
+        <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="107"/>
+        <location filename="src/searchview.cpp" line="90"/>
         <source>a keyword</source>
         <translation>关键字</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="108"/>
+        <location filename="src/searchview.cpp" line="91"/>
         <source>a channel</source>
         <translation>频道名称</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="113"/>
+        <location filename="src/searchview.cpp" line="96"/>
         <source>to start watching videos.</source>
         <translation>开始观看视频。</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="137"/>
+        <location filename="src/searchview.cpp" line="120"/>
         <source>Watch</source>
         <translation>观看</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="155"/>
+        <location filename="src/searchview.cpp" line="138"/>
         <source>Recent keywords</source>
         <translation>最近关键字词</translation>
     </message>
     <message>
-        <location filename="src/SearchView.cpp" line="168"/>
+        <location filename="src/searchview.cpp" line="151"/>
         <source>Recent channels</source>
         <translation>最近频道</translation>
     </message>
+</context>
+<context>
+    <name>SidebarHeader</name>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="16"/>
+        <location filename="src/sidebarheader.cpp" line="23"/>
+        <source>&amp;Back</source>
+        <translation>后退(_B)</translation>
+    </message>
     <message>
-        <location filename="src/SearchView.h" line="26"/>
-        <source>Make yourself comfortable</source>
-        <translation>请您尽情享受吧!</translation>
+        <location filename="src/sidebarheader.cpp" line="57"/>
+        <source>Forward to %1</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/sidebarheader.cpp" line="70"/>
+        <source>Back to %1</source>
+        <translation type="unfinished"/>
     </message>
 </context>
 <context>
     <name>SidebarWidget</name>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="48"/>
+        <location filename="src/sidebarwidget.cpp" line="52"/>
         <source>Refine Search</source>
         <translation>二次检索</translation>
     </message>
     <message>
-        <location filename="src/sidebarwidget.cpp" line="141"/>
+        <location filename="src/sidebarwidget.cpp" line="148"/>
         <source>Did you mean: %1</source>
         <translation>您的意思是:%1</translation>
     </message>
 </context>
+<context>
+    <name>StandardFeedsView</name>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="85"/>
+        <source>Most Popular</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="86"/>
+        <source>Featured</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="87"/>
+        <source>Most Shared</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="88"/>
+        <source>Most Discussed</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/standardfeedsview.cpp" line="89"/>
+        <source>Top Rated</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>Video</name>
     <message>
-        <location filename="src/video.cpp" line="200"/>
+        <location filename="src/video.cpp" line="213"/>
         <source>Cannot get video stream for %1</source>
         <translation>无法获得视频流。可能原因:%1</translation>
     </message>
     <message>
-        <location filename="src/video.cpp" line="218"/>
+        <location filename="src/video.cpp" line="231"/>
         <source>Network error: %1 for %2</source>
         <translation>网络错误:%1。可能原因:%2</translation>
     </message>
 </context>
+<context>
+    <name>YTRegions</name>
+    <message>
+        <location filename="src/ytregions.cpp" line="8"/>
+        <source>Algeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="9"/>
+        <source>Argentina</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="10"/>
+        <source>Australia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="11"/>
+        <source>Belgium</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="12"/>
+        <source>Brazil</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="13"/>
+        <source>Canada</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="14"/>
+        <source>Chile</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="15"/>
+        <source>Colombia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="16"/>
+        <source>Czech Republic</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="17"/>
+        <source>Egypt</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="18"/>
+        <source>France</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="19"/>
+        <source>Germany</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="20"/>
+        <source>Ghana</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="21"/>
+        <source>Greece</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="22"/>
+        <source>Hong Kong</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="23"/>
+        <source>Hungary</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="24"/>
+        <source>India</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="25"/>
+        <source>Indonesia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="26"/>
+        <source>Ireland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="27"/>
+        <source>Israel</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="28"/>
+        <source>Italy</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="29"/>
+        <source>Japan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="30"/>
+        <source>Jordan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="31"/>
+        <source>Kenya</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="32"/>
+        <source>Malaysia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="33"/>
+        <source>Mexico</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="34"/>
+        <source>Morocco</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="35"/>
+        <source>Netherlands</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="36"/>
+        <source>New Zealand</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="37"/>
+        <source>Nigeria</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="38"/>
+        <source>Peru</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="39"/>
+        <source>Philippines</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="40"/>
+        <source>Poland</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="41"/>
+        <source>Russia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="42"/>
+        <source>Saudi Arabia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="43"/>
+        <source>Singapore</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="44"/>
+        <source>South Africa</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="45"/>
+        <source>South Korea</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="46"/>
+        <source>Spain</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="47"/>
+        <source>Sweden</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="48"/>
+        <source>Taiwan</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="49"/>
+        <source>Tunisia</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="50"/>
+        <source>Turkey</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="51"/>
+        <source>Uganda</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="52"/>
+        <source>United Arab Emirates</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="53"/>
+        <source>United Kingdom</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="54"/>
+        <source>Yemen</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="src/ytregions.cpp" line="128"/>
+        <source>Worldwide</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 </TS>
\ No newline at end of file
index 8016dd2ede3a76cfda422d93637330821ccfd364..63df49499bf0072ee473dac229a21c61a14b2a3b 100644 (file)
@@ -16,7 +16,7 @@ Exec=minitube
 Terminal=false
 Type=Application
 Icon=minitube
-Categories=Application;Qt;AudioVideo;Video;
+Categories=Qt;AudioVideo;Video;Player;
 StartupNotify=true
 Actions=TogglePlaying;Next;Previous;
 
index e705eb178618cb9a56b783de0e5539e1e73693df..836142d9cf3713a39c61db1bc6e05b8250e1c95d 100644 (file)
@@ -1,6 +1,6 @@
 CONFIG += release
 TEMPLATE = app
-VERSION = 1.9
+VERSION = 2.0
 DEFINES += APP_VERSION="$$VERSION"
 
 APP_NAME = Minitube
@@ -11,34 +11,22 @@ DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME"
 
 DEFINES += QT_USE_FAST_CONCATENATION
 DEFINES += QT_USE_FAST_OPERATOR_PLUS
+DEFINES += QT_STRICT_ITERATORS
 
-# TODO Saner string behaviour
-# DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII QT_STRICT_ITERATORS
 TARGET = minitube
-QT += network \
-    xml \
-    phonon
+QT += network xml phonon
 include(src/qtsingleapplication/qtsingleapplication.pri)
-HEADERS += src/MainWindow.h \
-    src/SearchView.h \
-    src/MediaView.h \
-    src/AboutView.h \
-    src/youtubesearch.h \
+HEADERS += \
     src/video.h \
-    src/youtubestreamreader.h \
-    src/View.h \
     src/searchlineedit.h \
     src/urllineedit.h \
     src/spacer.h \
     src/constants.h \
-    src/iconloader/qticonloader.h \
-    src/ListModel.h \
-    src/playlist/PrettyItemDelegate.h \
+    src/playlistitemdelegate.h \
     src/networkaccess.h \
     src/videomimedata.h \
     src/global.h \
     src/updatechecker.h \
-    src/playlistwidget.h \
     src/searchparams.h \
     src/minisplitter.h \
     src/loadingwidget.h \
@@ -54,7 +42,6 @@ HEADERS += src/MainWindow.h \
     src/downloadmodel.h \
     src/downloadlistview.h \
     src/downloadsettings.h \
-    src/youtubesuggest.h \
     src/suggester.h \
     src/channelsuggest.h \
     src/temporary.h \
@@ -62,25 +49,37 @@ HEADERS += src/MainWindow.h \
     src/playlistview.h \
     src/refinesearchwidget.h \
     src/refinesearchbutton.h \
-    src/sidebarwidget.h
+    src/sidebarwidget.h \
+    src/homeview.h \
+    src/aboutview.h \
+    src/mainwindow.h \
+    src/mediaview.h \
+    src/searchview.h \
+    src/view.h \
+    src/userview.h \
+    src/playlistmodel.h \
+    src/videosource.h \
+    src/ytsearch.h \
+    src/ytstandardfeed.h \
+    src/standardfeedsview.h \
+    src/ytregions.h \
+    src/ytcategories.h \
+    src/ytfeedreader.h \
+    src/ytsuggester.h \
+    src/videosourcewidget.h \
+    src/regionsview.h \
+    src/ytsinglevideosource.h \
+    src/sidebarheader.h \
+    src/utils.h \
+    src/diskcache.h
 SOURCES += src/main.cpp \
-    src/MainWindow.cpp \
-    src/SearchView.cpp \
-    src/MediaView.cpp \
-    src/AboutView.cpp \
-    src/youtubesearch.cpp \
-    src/youtubestreamreader.cpp \
     src/searchlineedit.cpp \
     src/urllineedit.cpp \
     src/spacer.cpp \
     src/video.cpp \
-    src/iconloader/qticonloader.cpp \
-    src/ListModel.cpp \
-    src/playlist/PrettyItemDelegate.cpp \
     src/videomimedata.cpp \
     src/updatechecker.cpp \
     src/networkaccess.cpp \
-    src/playlistwidget.cpp \
     src/searchparams.cpp \
     src/minisplitter.cpp \
     src/loadingwidget.cpp \
@@ -97,14 +96,35 @@ SOURCES += src/main.cpp \
     src/downloadmodel.cpp \
     src/downloadlistview.cpp \
     src/downloadsettings.cpp \
-    src/youtubesuggest.cpp \
     src/channelsuggest.cpp \
     src/temporary.cpp \
     src/segmentedcontrol.cpp \
     src/playlistview.cpp \
     src/refinesearchwidget.cpp \
     src/refinesearchbutton.cpp \
-    src/sidebarwidget.cpp
+    src/sidebarwidget.cpp \
+    src/homeview.cpp \
+    src/mainwindow.cpp \
+    src/mediaview.cpp \
+    src/aboutview.cpp \
+    src/searchview.cpp \
+    src/userview.cpp \
+    src/playlistitemdelegate.cpp \
+    src/playlistmodel.cpp \
+    src/videosource.cpp \
+    src/ytsearch.cpp \
+    src/ytstandardfeed.cpp \
+    src/standardfeedsview.cpp \
+    src/ytregions.cpp \
+    src/ytcategories.cpp \
+    src/ytfeedreader.cpp \
+    src/ytsuggester.cpp \
+    src/videosourcewidget.cpp \
+    src/regionsview.cpp \
+    src/ytsinglevideosource.cpp \
+    src/sidebarheader.cpp \
+    src/utils.cpp \
+    src/diskcache.cpp
 RESOURCES += resources.qrc
 DESTDIR = build/target/
 OBJECTS_DIR = build/obj/
@@ -117,8 +137,7 @@ CODECFORSRC = UTF-8
 include(locale/locale.pri)
 
 # deploy
-DISTFILES += CHANGES \
-    COPYING
+DISTFILES += CHANGES COPYING
 unix:!mac {
     INCLUDEPATH += /usr/include/phonon
     QT += dbus
index 64c2549d94e96a763c503e5aab0b6163b75c1eac..cf89be985a72482bd27aefddc035350ffb524f87 100644 (file)
@@ -6,5 +6,54 @@
         <file>images/search-sortBy.png</file>
         <file>images/search-quality.png</file>
         <file>images/search-duration.png</file>
+        <file>flags/dz.png</file>
+        <file>flags/ar.png</file>
+        <file>flags/au.png</file>
+        <file>flags/be.png</file>
+        <file>flags/br.png</file>
+        <file>flags/ca.png</file>
+        <file>flags/cl.png</file>
+        <file>flags/co.png</file>
+        <file>flags/cz.png</file>
+        <file>flags/eg.png</file>
+        <file>flags/fr.png</file>
+        <file>flags/de.png</file>
+        <file>flags/gh.png</file>
+        <file>flags/gr.png</file>
+        <file>flags/hk.png</file>
+        <file>flags/hu.png</file>
+        <file>flags/in.png</file>
+        <file>flags/id.png</file>
+        <file>flags/ie.png</file>
+        <file>flags/il.png</file>
+        <file>flags/it.png</file>
+        <file>flags/jp.png</file>
+        <file>flags/jo.png</file>
+        <file>flags/ke.png</file>
+        <file>flags/my.png</file>
+        <file>flags/mx.png</file>
+        <file>flags/ma.png</file>
+        <file>flags/nl.png</file>
+        <file>flags/nz.png</file>
+        <file>flags/ng.png</file>
+        <file>flags/pe.png</file>
+        <file>flags/ph.png</file>
+        <file>flags/pl.png</file>
+        <file>flags/ru.png</file>
+        <file>flags/sa.png</file>
+        <file>flags/sg.png</file>
+        <file>flags/za.png</file>
+        <file>flags/kr.png</file>
+        <file>flags/es.png</file>
+        <file>flags/se.png</file>
+        <file>flags/tw.png</file>
+        <file>flags/tn.png</file>
+        <file>flags/tr.png</file>
+        <file>flags/ug.png</file>
+        <file>flags/ae.png</file>
+        <file>flags/gb.png</file>
+        <file>flags/ye.png</file>
+        <file>style.css</file>
+        <file>images/worldwide.png</file>
     </qresource>
 </RCC>
diff --git a/src/AboutView.cpp b/src/AboutView.cpp
deleted file mode 100644 (file)
index 868c018..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "AboutView.h"
-#include "constants.h"
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-
-AboutView::AboutView(QWidget *parent) : QWidget(parent) {
-
-    QBoxLayout *aboutlayout = new QHBoxLayout(this);
-    aboutlayout->setAlignment(Qt::AlignCenter);
-    aboutlayout->setMargin(30);
-    aboutlayout->setSpacing(30);
-
-    QLabel *logo = new QLabel(this);
-    QString resource = "app";
-#ifndef Q_WS_X11
-    resource = Extra::resourceName(resource);
-#endif
-    logo->setPixmap(QPixmap(":/images/" + resource + ".png"));
-    aboutlayout->addWidget(logo, 0, Qt::AlignTop);
-
-    QBoxLayout *layout = new QVBoxLayout();
-    layout->setAlignment(Qt::AlignCenter);
-    layout->setSpacing(30);
-    aboutlayout->addLayout(layout);
-
-    QString info = "<html><style>a { color: palette(text); text-decoration: none; font-weight: bold }</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) +
-
-        #if !defined(APP_MAC) && !defined(APP_WIN)
-            "<p>" +  tr("%1 is Free Software but its development takes precious time.").arg(Constants::NAME) + "<br/>"
-            + tr("Please <a href='%1'>donate</a> to support the continued development of %2.")
-            .arg(QString(Constants::WEBSITE).append("#donate"), Constants::NAME) + "</p>"
-        #endif
-
-            "<p>" + tr("You may want to try my other apps as well:") + "</p>"
-            + "<ul>"
-
-            + "<li>" + tr("%1, a YouTube music player")
-            .arg("<a href='http://flavio.tordini.org/musictube'>Musictube</a>")
-            + "</li>"
-
-            + "<li>" + tr("%1, a music player")
-            .arg("<a href='http://flavio.tordini.org/musique'>Musique</a>")
-            + "</li>"
-
-            + "</ul>"
-
-            "<p>" + tr("Translate %1 to your native language using %2").arg(Constants::NAME)
-            .arg("<a href='http://www.transifex.net/projects/p/" + QString(Constants::UNIX_NAME) + "/resource/main/'>Transifex</a>")
-            + "</p>"
-
-            "<p>"
-            + tr("Icon designed by %1.").arg("<a href='http://www.kolorguild.com/'>David Nel</a>")
-            + "</p>"
-
-        #if !defined(APP_MAC) && !defined(APP_WIN)
-            "<p>" + tr("Released under the <a href='%1'>GNU General Public License</a>")
-            .arg("http://www.gnu.org/licenses/gpl.html") + "</p>"
-        #endif
-            "<p>&copy; 2009-2012 " + Constants::ORG_NAME + "</p>"
-            "</body></html>";
-    QLabel *infoLabel = new QLabel(info, this);
-    infoLabel->setOpenExternalLinks(true);
-    infoLabel->setWordWrap(true);
-    layout->addWidget(infoLabel);
-
-    QLayout *buttonLayout = new QHBoxLayout();
-    buttonLayout->setAlignment(Qt::AlignLeft);
-
-    QPushButton *closeButton = new QPushButton(tr("&Close"), this);
-    closeButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
-    closeButton->setDefault(true);
-    closeButton->setFocus(Qt::OtherFocusReason);
-    connect(closeButton, SIGNAL(clicked()), parent, SLOT(goBack()));
-    buttonLayout->addWidget(closeButton);
-
-    /*
-    QPushButton *issueButton = new QPushButton(tr("&Report an issue"), this);
-    issueButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
-    connect(issueButton, SIGNAL(clicked()), window(), SLOT(reportIssue()));
-    buttonLayout->addWidget(issueButton);
-    */
-
-    layout->addLayout(buttonLayout);
-
-}
-
-void AboutView::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
-}
diff --git a/src/AboutView.h b/src/AboutView.h
deleted file mode 100644 (file)
index 2d3e0c4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef ABOUTVIEW_H
-#define ABOUTVIEW_H
-
-#include <QtGui>
-#include "View.h"
-#include "constants.h"
-#ifdef APP_MAC
-#include "macutils.h"
-#endif
-
-class AboutView : public QWidget, public View {
-
-    Q_OBJECT
-
-public:
-    AboutView(QWidget *parent);
-    void appear() {
-#ifdef APP_MAC
-        mac::uncloseWindow(window()->winId());
-#endif
-    }
-    void disappear() {}
-    QMap<QString, QVariant> metadata() {
-        QMap<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 *);
-
-};
-#endif
diff --git a/src/ListModel.cpp b/src/ListModel.cpp
deleted file mode 100644 (file)
index 851c152..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-#include "ListModel.h"
-#include "videomimedata.h"
-
-#define MAX_ITEMS 10
-static const QString recentKeywordsKey = "recentKeywords";
-static const QString recentChannelsKey = "recentChannels";
-
-ListModel::ListModel(QWidget *parent) : QAbstractListModel(parent) {
-    youtubeSearch = 0;
-    searching = false;
-    canSearchMore = true;
-    m_activeVideo = 0;
-    m_activeRow = -1;
-    skip = 1;
-
-    hoveredRow = -1;
-    authorHovered = false;
-    authorPressed = false;
-}
-
-ListModel::~ListModel() {
-    delete youtubeSearch;
-}
-
-int ListModel::rowCount(const QModelIndex &/*parent*/) const {
-    int count = videos.size();
-    
-    // add the message item
-    if (videos.isEmpty() || !searching)
-        count++;
-    
-    return count;
-}
-
-QVariant ListModel::data(const QModelIndex &index, int role) const {
-    
-    int row = index.row();
-    
-    if (row == videos.size()) {
-        
-        QPalette palette;
-        QFont boldFont;
-        boldFont.setBold(true);
-        
-        switch (role) {
-        case ItemTypeRole:
-            return ItemTypeShowMore;
-        case Qt::DisplayRole:
-        case Qt::StatusTipRole:
-            if (!errorMessage.isEmpty()) return errorMessage;
-            if (searching) return tr("Searching...");
-            if (canSearchMore) return tr("Show %1 More").arg(MAX_ITEMS);
-            if (videos.isEmpty()) return tr("No videos");
-            else return tr("No more videos");
-        case Qt::TextAlignmentRole:
-            return QVariant(int(Qt::AlignHCenter | Qt::AlignVCenter));
-        case Qt::ForegroundRole:
-            if (!errorMessage.isEmpty())
-                return palette.color(QPalette::ToolTipText);
-            else
-                return palette.color(QPalette::Dark);
-        case Qt::BackgroundColorRole:
-            if (!errorMessage.isEmpty())
-                return palette.color(QPalette::ToolTipBase);
-            else
-                return QVariant();
-        case Qt::FontRole:
-            return boldFont;
-        default:
-            return QVariant();
-        }
-        
-    } else if (row < 0 || row >= videos.size())
-        return QVariant();
-    
-    Video *video = videos.at(row);
-    
-    switch (role) {
-    case ItemTypeRole:
-        return ItemTypeVideo;
-    case VideoRole:
-        return QVariant::fromValue(QPointer<Video>(video));
-    case ActiveTrackRole:
-        return video == m_activeVideo;
-    case Qt::DisplayRole:
-        return video->title();
-    case HoveredItemRole:
-        return hoveredRow == index.row();
-    case AuthorHoveredRole:
-        return authorHovered;
-    case AuthorPressedRole:
-        return authorPressed;
-    }
-    
-    return QVariant();
-}
-
-void ListModel::setActiveRow( int row) {
-    if ( rowExists( row ) ) {
-        
-        m_activeRow = row;
-        m_activeVideo = videoAt(row);
-        
-        int oldactiverow = m_activeRow;
-        
-        if ( rowExists( oldactiverow ) )
-            emit dataChanged( createIndex( oldactiverow, 0 ), createIndex( oldactiverow, columnCount() - 1 ) );
-        
-        emit dataChanged( createIndex( m_activeRow, 0 ), createIndex( m_activeRow, columnCount() - 1 ) );
-        emit activeRowChanged(row);
-        
-    } else {
-        m_activeRow = -1;
-        m_activeVideo = 0;
-    }
-
-}
-
-int ListModel::nextRow() const {
-    int nextRow = m_activeRow + 1;
-    if (rowExists(nextRow))
-        return nextRow;
-    return -1;
-}
-
-int ListModel::previousRow() const {
-    int prevRow = m_activeRow - 1;
-    if (rowExists(prevRow))
-        return prevRow;
-    return -1;
-}
-
-Video* ListModel::videoAt( int row ) const {
-    if ( rowExists( row ) )
-        return videos.at( row );
-    return 0;
-}
-
-Video* ListModel::activeVideo() const {
-    return m_activeVideo;
-}
-
-void ListModel::search(SearchParams *searchParams) {
-
-    // delete current videos
-    while (!videos.isEmpty())
-        delete videos.takeFirst();
-    m_activeVideo = 0;
-    m_activeRow = -1;
-    skip = 1;
-    errorMessage.clear();
-    reset();
-
-    // (re)initialize the YouTubeSearch
-    if (youtubeSearch) delete youtubeSearch;
-    youtubeSearch = new YouTubeSearch();
-    connect(youtubeSearch, SIGNAL(gotVideo(Video*)), this, SLOT(addVideo(Video*)));
-    connect(youtubeSearch, SIGNAL(finished(int)), this, SLOT(searchFinished(int)));
-    connect(youtubeSearch, SIGNAL(error(QString)), this, SLOT(searchError(QString)));
-
-    this->searchParams = searchParams;
-    searching = true;
-    youtubeSearch->search(searchParams, MAX_ITEMS, skip);
-    skip += MAX_ITEMS;
-}
-
-void ListModel::searchMore(int max) {
-    if (searching) return;
-    searching = true;
-    errorMessage.clear();
-    youtubeSearch->search(searchParams, max, skip);
-    skip += max;
-}
-
-void ListModel::searchMore() {
-    searchMore(MAX_ITEMS);
-}
-
-void ListModel::searchNeeded() {
-    int remainingRows = videos.size() - m_activeRow;
-    int rowsNeeded = MAX_ITEMS - remainingRows;
-    if (rowsNeeded > 0)
-        searchMore(rowsNeeded);
-}
-
-void ListModel::abortSearch() {
-    while (!videos.isEmpty())
-        delete videos.takeFirst();
-    reset();
-    youtubeSearch->abort();
-    searching = false;
-}
-
-void ListModel::searchFinished(int total) {
-    searching = false;
-    canSearchMore = total > 0;
-
-    // update the message item
-    emit dataChanged( createIndex( MAX_ITEMS, 0 ), createIndex( MAX_ITEMS, columnCount() - 1 ) );
-
-    if (!youtubeSearch->getSuggestions().isEmpty()) {
-        emit haveSuggestions(youtubeSearch->getSuggestions());
-    }
-}
-
-void ListModel::searchError(QString message) {
-    errorMessage = message;
-    // update the message item
-    emit dataChanged( createIndex( MAX_ITEMS, 0 ), createIndex( MAX_ITEMS, columnCount() - 1 ) );
-}
-
-void ListModel::addVideo(Video* video) {
-    
-    connect(video, SIGNAL(gotThumbnail()), this, SLOT(updateThumbnail()));
-
-    beginInsertRows(QModelIndex(), videos.size(), videos.size());
-    videos << video;
-    endInsertRows();
-    
-    // first result!
-    if (videos.size() == 1) {
-
-        // manualplay
-        QSettings settings;
-        if (!settings.value("manualplay", false).toBool())
-            setActiveRow(0);
-
-        // save keyword
-        QString query = searchParams->keywords();
-        if (!query.isEmpty() && !searchParams->isTransient()) {
-            if (query.startsWith("http://")) {
-                // Save the video title
-                query += "|" + videos.first()->title();
-            }
-            QStringList keywords = settings.value(recentKeywordsKey).toStringList();
-            keywords.removeAll(query);
-            keywords.prepend(query);
-            while (keywords.size() > 10)
-                keywords.removeLast();
-            settings.setValue(recentKeywordsKey, keywords);
-        }
-
-        // save channel
-        QString channel = searchParams->author();
-        if (!channel.isEmpty() && !searchParams->isTransient()) {
-            QSettings settings;
-            QStringList channels = settings.value(recentChannelsKey).toStringList();
-            channels.removeAll(channel);
-            channels.prepend(channel);
-            while (channels.size() > 10)
-                channels.removeLast();
-            settings.setValue(recentChannelsKey, channels);
-        }
-
-    }
-
-}
-
-void ListModel::updateThumbnail() {
-
-    Video *video = static_cast<Video *>(sender());
-    if (!video) {
-        qDebug() << "Cannot get sender";
-        return;
-    }
-
-    int row = rowForVideo(video);
-    emit dataChanged( createIndex( row, 0 ), createIndex( row, columnCount() - 1 ) );
-
-}
-
-// --- item removal
-
-/**
-  * This function does not free memory
-  */
-bool ListModel::removeRows(int position, int rows, const QModelIndex & /*parent*/) {
-    beginRemoveRows(QModelIndex(), position, position+rows-1);
-    for (int row = 0; row < rows; ++row) {
-        videos.removeAt(position);
-    }
-    endRemoveRows();
-    return true;
-}
-
-void ListModel::removeIndexes(QModelIndexList &indexes) {
-    QList<Video*> originalList(videos);
-    QList<Video*> delitems;
-    foreach (QModelIndex index, indexes) {
-        if (index.row() >= originalList.size()) continue;
-        Video* video = originalList.at(index.row());
-        int idx = videos.indexOf(video);
-        if (idx != -1) {
-            beginRemoveRows(QModelIndex(), idx, idx);
-            delitems.append(video);
-            videos.removeAll(video);
-            endRemoveRows();
-        }
-    }
-
-    qDeleteAll(delitems);
-
-}
-
-// --- Sturm und drang ---
-
-
-
-Qt::DropActions ListModel::supportedDropActions() const {
-    return Qt::MoveAction;
-}
-
-Qt::ItemFlags ListModel::flags(const QModelIndex &index) const {
-    Qt::ItemFlags defaultFlags = QAbstractListModel::flags(index);
-
-    if (index.isValid()) {
-        if (index.row() == videos.size()) {
-            // don't drag the "show 10 more" item
-            return defaultFlags;
-        } else
-            return ( defaultFlags | Qt::ItemIsDropEnabled | Qt::ItemIsDragEnabled );
-    } else
-        return Qt::ItemIsDropEnabled | defaultFlags;
-}
-
-QStringList ListModel::mimeTypes() const {
-    QStringList types;
-    types << "application/x-minitube-video";
-    return types;
-}
-
-QMimeData* ListModel::mimeData( const QModelIndexList &indexes ) const {
-    VideoMimeData* mime = new VideoMimeData();
-
-    foreach( const QModelIndex &it, indexes ) {
-        int row = it.row();
-        if (row >= 0 && row < videos.size())
-            mime->addVideo( videos.at( it.row() ) );
-    }
-
-    return mime;
-}
-
-bool ListModel::dropMimeData(const QMimeData *data,
-                             Qt::DropAction action, int row, int column,
-                             const QModelIndex &parent) {
-    if (action == Qt::IgnoreAction)
-        return true;
-
-    if (!data->hasFormat("application/x-minitube-video"))
-        return false;
-
-    if (column > 0)
-        return false;
-
-    int beginRow;
-    if (row != -1)
-        beginRow = row;
-    else if (parent.isValid())
-        beginRow = parent.row();
-    else
-        beginRow = rowCount(QModelIndex());
-
-    const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( data );
-    if(!videoMimeData ) return false;
-
-    QList<Video*> droppedVideos = videoMimeData->videos();
-    foreach( Video *video, droppedVideos) {
-        
-        // remove videos
-        int videoRow = videos.indexOf(video);
-        removeRows(videoRow, 1, QModelIndex());
-        
-        // and then add them again at the new position
-        beginInsertRows(QModelIndex(), beginRow, beginRow);
-        videos.insert(beginRow, video);
-        endInsertRows();
-
-    }
-
-    // fix m_activeRow after all this
-    m_activeRow = videos.indexOf(m_activeVideo);
-
-    // let the MediaView restore the selection
-    emit needSelectionFor(droppedVideos);
-
-    return true;
-
-}
-
-int ListModel::rowForVideo(Video* video) {
-    return videos.indexOf(video);
-}
-
-QModelIndex ListModel::indexForVideo(Video* video) {
-    return createIndex(videos.indexOf(video), 0);
-}
-
-void ListModel::move(QModelIndexList &indexes, bool up) {
-    QList<Video*> movedVideos;
-
-    foreach (QModelIndex index, indexes) {
-        int row = index.row();
-        if (row >= videos.size()) continue;
-        // qDebug() << "index row" << row;
-        Video *video = videoAt(row);
-        movedVideos << video;
-    }
-
-    int end=up ? -1 : rowCount()-1, mod=up ? -1 : 1;
-    foreach (Video *video, movedVideos) {
-
-        int row = rowForVideo(video);
-        if (row+mod==end) { end=row; continue; }
-        // qDebug() << "video row" << row;
-        removeRows(row, 1, QModelIndex());
-
-        if (up) row--;
-        else row++;
-
-        beginInsertRows(QModelIndex(), row, row);
-        videos.insert(row, video);
-        endInsertRows();
-
-    }
-
-    emit needSelectionFor(movedVideos);
-
-}
-
-/* row hovering */
-
-void ListModel::setHoveredRow(int row) {
-    int oldRow = hoveredRow;
-    hoveredRow = row;
-    emit dataChanged( createIndex( oldRow, 0 ), createIndex( oldRow, columnCount() - 1 ) );
-    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
-}
-
-void ListModel::clearHover() {
-    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
-    hoveredRow = -1;
-}
-
-/* clickable author */
-
-void ListModel::enterAuthorHover() {
-    if (authorHovered) return;
-    authorHovered = true;
-    updateAuthor();
-}
-
-void ListModel::exitAuthorHover() {
-    if (!authorHovered) return;
-    authorHovered = false;
-    updateAuthor();
-    setHoveredRow(hoveredRow);
-}
-
-void ListModel::enterAuthorPressed() {
-    if (authorPressed) return;
-    authorPressed = true;
-    updateAuthor();
-}
-
-void ListModel::exitAuthorPressed() {
-    if (!authorPressed) return;
-    authorPressed = false;
-    updateAuthor();
-}
-
-void ListModel::updateAuthor() {
-    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
-}
diff --git a/src/ListModel.h b/src/ListModel.h
deleted file mode 100644 (file)
index f9d424b..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-#ifndef LISTMODEL_H
-#define LISTMODEL_H
-
-#include "video.h"
-#include "youtubesearch.h"
-#include "searchparams.h"
-
-enum DataRoles {
-    ItemTypeRole = Qt::UserRole,
-    VideoRole,
-    ActiveTrackRole,
-    DownloadItemRole,
-    HoveredItemRole,
-    DownloadButtonHoveredRole,
-    DownloadButtonPressedRole,
-    AuthorHoveredRole,
-    AuthorPressedRole
-};
-
-enum ItemTypes {
-    ItemTypeVideo = 1,
-    ItemTypeShowMore
-};
-
-class ListModel : public QAbstractListModel {
-
-    Q_OBJECT
-
-public:
-
-    ListModel(QWidget *parent);
-    ~ListModel();
-
-    // inherited from QAbstractListModel
-    int rowCount(const QModelIndex &parent = QModelIndex()) const;
-    // int rowCount( const QModelIndex& parent = QModelIndex() ) const { Q_UNUSED( parent ); return videos.size(); }
-    int columnCount( const QModelIndex& parent = QModelIndex() ) const { Q_UNUSED( parent ); return 4; }
-    QVariant data(const QModelIndex &index, int role) const;
-    bool removeRows(int position, int rows, const QModelIndex &parent);
-
-    Qt::ItemFlags flags(const QModelIndex &index) const;
-    QStringList mimeTypes() const;
-    Qt::DropActions supportedDropActions() const;
-    QMimeData* mimeData( const QModelIndexList &indexes ) const;
-    bool dropMimeData(const QMimeData *data,
-                      Qt::DropAction action, int row, int column,
-                      const QModelIndex &parent);
-
-    // custom methods
-    void setActiveRow( int row );
-    bool rowExists( int row ) const { return (( row >= 0 ) && ( row < videos.size() ) ); }
-    int activeRow() const { return m_activeRow; } // returns -1 if there is no active row
-    int nextRow() const;
-    int previousRow() const;
-    void removeIndexes(QModelIndexList &indexes);
-    int rowForVideo(Video* video);
-    QModelIndex indexForVideo(Video* video);
-    void move(QModelIndexList &indexes, bool up);
-
-    Video* videoAt( int row ) const;
-    Video* activeVideo() const;
-
-    // video search methods
-    void search(SearchParams *searchParams);
-    void abortSearch();
-
-
-public slots:
-    void searchMore();
-    void searchNeeded();
-    void addVideo(Video* video);
-    void searchFinished(int total);
-    void searchError(QString message);
-    void updateThumbnail();
-
-    void setHoveredRow(int row);
-    void clearHover();
-    void enterAuthorHover();
-    void exitAuthorHover();
-    void enterAuthorPressed();
-    void exitAuthorPressed();
-    void updateAuthor();
-
-signals:
-    void activeRowChanged(int);
-    void needSelectionFor(QList<Video*>);
-    void haveSuggestions(const QStringList &suggestions);
-
-private:
-    void searchMore(int max);
-
-    YouTubeSearch *youtubeSearch;
-    SearchParams *searchParams;
-    bool searching;
-    bool canSearchMore;
-
-    QList<Video*> videos;
-    int skip;
-
-    // the row being played
-    int m_activeRow;
-    Video *m_activeVideo;
-
-    QString errorMessage;
-
-    int hoveredRow;
-    bool authorHovered;
-    bool authorPressed;
-};
-
-#endif
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
deleted file mode 100644 (file)
index e5d78d2..0000000
+++ /dev/null
@@ -1,1484 +0,0 @@
-#include "MainWindow.h"
-#include "spacer.h"
-#include "constants.h"
-#include "iconloader/qticonloader.h"
-#include "global.h"
-#include "videodefinition.h"
-#include "fontutils.h"
-#include "globalshortcuts.h"
-#ifdef Q_WS_X11
-#include "gnomeglobalshortcutbackend.h"
-#endif
-#ifdef Q_WS_MAC
-#include "mac_startup.h"
-#include "macfullscreen.h"
-#include "macsupport.h"
-#include "macutils.h"
-#endif
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-#include "downloadmanager.h"
-#include "youtubesuggest.h"
-#include "updatechecker.h"
-#ifdef APP_DEMO
-#include "demostartupview.h"
-#endif
-#include "temporary.h"
-#ifdef APP_MAC
-#include "searchlineedit_mac.h"
-#else
-#include "searchlineedit.h"
-#endif
-#include <iostream>
-
-static MainWindow *singleton = 0;
-
-MainWindow* MainWindow::instance() {
-    if (!singleton) singleton = new MainWindow();
-    return singleton;
-}
-
-MainWindow::MainWindow() :
-        updateChecker(0),
-        aboutView(0),
-        downloadView(0),
-        mediaObject(0),
-        audioOutput(0),
-        m_fullscreen(false) {
-
-    singleton = this;
-
-    // views mechanism
-    history = new QStack<QWidget*>();
-    views = new QStackedWidget(this);
-    setCentralWidget(views);
-
-    // views
-    searchView = new SearchView(this);
-    connect(searchView, SIGNAL(search(SearchParams*)), this, SLOT(showMedia(SearchParams*)));
-    views->addWidget(searchView);
-
-    mediaView = new MediaView(this);
-    mediaView->setEnabled(false);
-    views->addWidget(mediaView);
-
-    // build ui
-    createActions();
-    createMenus();
-    createToolBars();
-    createStatusBar();
-
-    initPhonon();
-    mediaView->setSlider(seekSlider);
-    mediaView->setMediaObject(mediaObject);
-
-    // remove that useless menu/toolbar context menu
-    this->setContextMenuPolicy(Qt::NoContextMenu);
-
-    // mediaView init stuff thats needs actions
-    mediaView->initialize();
-
-    // event filter to block ugly toolbar tooltips
-    qApp->installEventFilter(this);
-
-    setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-
-    // restore window position
-    readSettings();
-
-    // fix stacked widget minimum size
-    for (int i = 0; i < views->count(); i++) {
-        QWidget* view = views->widget(i);
-        if (view) view->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-    }
-    setMinimumWidth(0);
-
-    // show the initial view
-#ifdef APP_DEMO
-        QWidget *demoStartupView = new DemoStartupView(this);
-        views->addWidget(demoStartupView);
-        showWidget(demoStartupView);
-#else
-    showSearch();
-#endif
-
-    // Global shortcuts
-    GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
-#ifdef Q_WS_X11
-    if (GnomeGlobalShortcutBackend::IsGsdAvailable())
-        shortcuts.setBackend(new GnomeGlobalShortcutBackend(&shortcuts));
-#endif
-#ifdef Q_WS_MAC
-    mac::MacSetup();
-#endif
-    connect(&shortcuts, SIGNAL(PlayPause()), pauseAct, SLOT(trigger()));
-    connect(&shortcuts, SIGNAL(Stop()), this, SLOT(stop()));
-    connect(&shortcuts, SIGNAL(Next()), skipAct, SLOT(trigger()));
-    connect(&shortcuts, SIGNAL(Previous()), skipBackwardAct, SLOT(trigger()));
-    // connect(&shortcuts, SIGNAL(StopAfter()), The::globalActions()->value("stopafterthis"), SLOT(toggle()));
-
-    connect(DownloadManager::instance(), SIGNAL(statusMessageChanged(QString)),
-            SLOT(updateDownloadMessage(QString)));
-    connect(DownloadManager::instance(), SIGNAL(finished()),
-            SLOT(downloadsFinished()));
-
-    setAcceptDrops(true);
-
-    mouseTimer = new QTimer(this);
-    mouseTimer->setInterval(5000);
-    mouseTimer->setSingleShot(true);
-    connect(mouseTimer, SIGNAL(timeout()), SLOT(hideMouse()));
-
-    QTimer::singleShot(0, this, SLOT(checkForUpdate()));
-
-}
-
-MainWindow::~MainWindow() {
-    delete history;
-}
-
-void MainWindow::changeEvent(QEvent* event) {
-#ifdef APP_MAC
-    if (event->type() == QEvent::WindowStateChange) {
-        The::globalActions()->value("minimize")->setEnabled(!isMinimized());
-    }
-#endif
-    QMainWindow::changeEvent(event);
-}
-
-bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
-
-    if (m_fullscreen && event->type() == QEvent::MouseMove) {
-
-        QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (event);
-        const int x = mouseEvent->pos().x();
-        const QString className = QString(obj->metaObject()->className());
-        const bool isHoveringVideo = (className == "QGLWidget") || (className == "VideoAreaWidget");
-
-        // qDebug() << obj << mouseEvent->pos() << isHoveringVideo << mediaView->isPlaylistVisible();
-
-        if (mediaView->isPlaylistVisible()) {
-            if (isHoveringVideo && x > 5) mediaView->setPlaylistVisible(false);
-        } else {
-            if (isHoveringVideo && 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);
-        }
-#endif
-
-        // show the normal cursor
-        unsetCursor();
-        // then hide it again after a few seconds
-        mouseTimer->start();
-
-    }
-
-    if (event->type() == QEvent::ToolTip) {
-        // kill tooltips
-        return true;
-    }
-    // standard event processing
-    return QMainWindow::eventFilter(obj, event);
-}
-
-void MainWindow::createActions() {
-
-    QMap<QString, QAction*> *actions = The::globalActions();
-
-    stopAct = new QAction(QtIconLoader::icon("media-playback-stop"), tr("&Stop"), this);
-    stopAct->setStatusTip(tr("Stop playback and go back to the search view"));
-    stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
-    stopAct->setEnabled(false);
-    actions->insert("stop", stopAct);
-    connect(stopAct, SIGNAL(triggered()), this, SLOT(stop()));
-
-    skipBackwardAct = new QAction(
-                QtIconLoader::icon("media-skip-backward"),
-                tr("P&revious"), this);
-    skipBackwardAct->setStatusTip(tr("Go back to the previous track"));
-    skipBackwardAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
-#if QT_VERSION >= 0x040600
-    skipBackwardAct->setPriority(QAction::LowPriority);
-#endif
-    skipBackwardAct->setEnabled(false);
-    actions->insert("previous", skipBackwardAct);
-    connect(skipBackwardAct, SIGNAL(triggered()), mediaView, SLOT(skipBackward()));
-
-    skipAct = new QAction(QtIconLoader::icon("media-skip-forward"), tr("S&kip"), this);
-    skipAct->setStatusTip(tr("Skip to the next video"));
-    skipAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Right) << QKeySequence(Qt::Key_MediaNext));
-    skipAct->setEnabled(false);
-    actions->insert("skip", skipAct);
-    connect(skipAct, SIGNAL(triggered()), mediaView, SLOT(skip()));
-
-    pauseAct = new QAction(QtIconLoader::icon("media-playback-pause"), tr("&Pause"), this);
-    pauseAct->setStatusTip(tr("Pause playback"));
-    pauseAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Space) << QKeySequence(Qt::Key_MediaPlay));
-    pauseAct->setEnabled(false);
-    actions->insert("pause", pauseAct);
-    connect(pauseAct, SIGNAL(triggered()), mediaView, SLOT(pause()));
-
-    fullscreenAct = new QAction(QtIconLoader::icon("view-fullscreen"), tr("&Full Screen"), this);
-    fullscreenAct->setStatusTip(tr("Go full screen"));
-    QList<QKeySequence> fsShortcuts;
-#ifdef APP_MAC
-    fsShortcuts << QKeySequence(Qt::CTRL + Qt::META + Qt::Key_F);
-#else
-    fsShortcuts << QKeySequence(Qt::Key_F11) << QKeySequence(Qt::ALT + Qt::Key_Return);
-#endif
-    fullscreenAct->setShortcuts(fsShortcuts);
-    fullscreenAct->setShortcutContext(Qt::ApplicationShortcut);
-#if QT_VERSION >= 0x040600
-    fullscreenAct->setPriority(QAction::LowPriority);
-#endif
-    actions->insert("fullscreen", fullscreenAct);
-    connect(fullscreenAct, SIGNAL(triggered()), this, SLOT(fullscreen()));
-
-    compactViewAct = new QAction(tr("&Compact Mode"), this);
-    compactViewAct->setStatusTip(tr("Hide the playlist and the toolbar"));
-#ifdef APP_MAC
-    compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::META + Qt::Key_C));
-#else
-    compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C));
-#endif
-    compactViewAct->setCheckable(true);
-    compactViewAct->setChecked(false);
-    compactViewAct->setEnabled(false);
-    actions->insert("compactView", compactViewAct);
-    connect(compactViewAct, SIGNAL(toggled(bool)), this, SLOT(compactView(bool)));
-
-    webPageAct = new QAction(tr("Open the &YouTube Page"), this);
-    webPageAct->setStatusTip(tr("Go to the YouTube video page and pause playback"));
-    webPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Y));
-    webPageAct->setEnabled(false);
-    actions->insert("webpage", webPageAct);
-    connect(webPageAct, SIGNAL(triggered()), mediaView, SLOT(openWebPage()));
-
-    copyPageAct = new QAction(tr("Copy the YouTube &Link"), this);
-    copyPageAct->setStatusTip(tr("Copy the current video YouTube link to the clipboard"));
-    copyPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
-    copyPageAct->setEnabled(false);
-    actions->insert("pagelink", copyPageAct);
-    connect(copyPageAct, SIGNAL(triggered()), mediaView, SLOT(copyWebPage()));
-
-    copyLinkAct = new QAction(tr("Copy the Video Stream &URL"), this);
-    copyLinkAct->setStatusTip(tr("Copy the current video stream URL to the clipboard"));
-    copyLinkAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
-    copyLinkAct->setEnabled(false);
-    actions->insert("videolink", copyLinkAct);
-    connect(copyLinkAct, SIGNAL(triggered()), mediaView, SLOT(copyVideoLink()));
-
-    findVideoPartsAct = new QAction(tr("Find Video &Parts"), this);
-    findVideoPartsAct->setStatusTip(tr("Find other video parts hopefully in the right order"));
-    findVideoPartsAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_P));
-    findVideoPartsAct->setEnabled(false);
-    connect(findVideoPartsAct, SIGNAL(triggered()), mediaView, SLOT(findVideoParts()));
-    actions->insert("findVideoParts", findVideoPartsAct);
-
-    removeAct = new QAction(tr("&Remove"), this);
-    removeAct->setStatusTip(tr("Remove the selected videos from the playlist"));
-    removeAct->setShortcuts(QList<QKeySequence>() << QKeySequence("Del") << QKeySequence("Backspace"));
-    removeAct->setEnabled(false);
-    actions->insert("remove", removeAct);
-    connect(removeAct, SIGNAL(triggered()), mediaView, SLOT(removeSelected()));
-
-    moveUpAct = new QAction(tr("Move &Up"), this);
-    moveUpAct->setStatusTip(tr("Move up the selected videos in the playlist"));
-    moveUpAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
-    moveUpAct->setEnabled(false);
-    actions->insert("moveUp", moveUpAct);
-    connect(moveUpAct, SIGNAL(triggered()), mediaView, SLOT(moveUpSelected()));
-
-    moveDownAct = new QAction(tr("Move &Down"), this);
-    moveDownAct->setStatusTip(tr("Move down the selected videos in the playlist"));
-    moveDownAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
-    moveDownAct->setEnabled(false);
-    actions->insert("moveDown", moveDownAct);
-    connect(moveDownAct, SIGNAL(triggered()), mediaView, SLOT(moveDownSelected()));
-
-    clearAct = new QAction(tr("&Clear Recent Searches"), this);
-    clearAct->setMenuRole(QAction::ApplicationSpecificRole);
-    clearAct->setShortcuts(QList<QKeySequence>()
-                           << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Delete)
-                           << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Backspace));
-    clearAct->setStatusTip(tr("Clear the search history. Cannot be undone."));
-    clearAct->setEnabled(true);
-    actions->insert("clearRecentKeywords", clearAct);
-    connect(clearAct, SIGNAL(triggered()), SLOT(clearRecentKeywords()));
-
-    quitAct = new QAction(tr("&Quit"), this);
-    quitAct->setMenuRole(QAction::QuitRole);
-    quitAct->setShortcut(QKeySequence(QKeySequence::Quit));
-    quitAct->setStatusTip(tr("Bye"));
-    actions->insert("quit", quitAct);
-    connect(quitAct, SIGNAL(triggered()), SLOT(quit()));
-
-    siteAct = new QAction(tr("&Website"), this);
-    siteAct->setShortcut(QKeySequence::HelpContents);
-    siteAct->setStatusTip(tr("%1 on the Web").arg(Constants::NAME));
-    actions->insert("site", siteAct);
-    connect(siteAct, SIGNAL(triggered()), this, SLOT(visitSite()));
-
-#if !defined(APP_MAC) && !defined(APP_WIN)
-    donateAct = new QAction(tr("Make a &Donation"), this);
-    donateAct->setStatusTip(tr("Please support the continued development of %1").arg(Constants::NAME));
-    actions->insert("donate", donateAct);
-    connect(donateAct, SIGNAL(triggered()), this, SLOT(donate()));
-#endif
-
-    aboutAct = new QAction(tr("&About"), this);
-    aboutAct->setMenuRole(QAction::AboutRole);
-    aboutAct->setStatusTip(tr("Info about %1").arg(Constants::NAME));
-    actions->insert("about", aboutAct);
-    connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
-
-    // Invisible actions
-
-    searchFocusAct = new QAction(this);
-    searchFocusAct->setShortcut(QKeySequence::Find);
-    searchFocusAct->setStatusTip(tr("Search"));
-    actions->insert("search", searchFocusAct);
-    connect(searchFocusAct, SIGNAL(triggered()), this, SLOT(searchFocus()));
-    addAction(searchFocusAct);
-
-    volumeUpAct = new QAction(this);
-    volumeUpAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Plus));
-    actions->insert("volume-up", volumeUpAct);
-    connect(volumeUpAct, SIGNAL(triggered()), this, SLOT(volumeUp()));
-    addAction(volumeUpAct);
-
-    volumeDownAct = new QAction(this);
-    volumeDownAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Minus));
-    actions->insert("volume-down", volumeDownAct);
-    connect(volumeDownAct, SIGNAL(triggered()), this, SLOT(volumeDown()));
-    addAction(volumeDownAct);
-
-    volumeMuteAct = new QAction(this);
-    volumeMuteAct->setIcon(QtIconLoader::icon("audio-volume-high"));
-    volumeMuteAct->setStatusTip(tr("Mute volume"));
-    volumeMuteAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_E));
-    actions->insert("volume-mute", volumeMuteAct);
-    connect(volumeMuteAct, SIGNAL(triggered()), SLOT(volumeMute()));
-    addAction(volumeMuteAct);
-
-    QAction *definitionAct = new QAction(this);
-    definitionAct->setIcon(QtIconLoader::icon("video-display"));
-    definitionAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_D));
-    /*
-    QMenu *definitionMenu = new QMenu(this);
-    foreach (QString definition, VideoDefinition::getDefinitionNames()) {
-        definitionMenu->addAction(definition);
-    }
-    definitionAct->setMenu(definitionMenu);
-    */
-    actions->insert("definition", definitionAct);
-    connect(definitionAct, SIGNAL(triggered()), SLOT(toggleDefinitionMode()));
-    addAction(definitionAct);
-
-    QAction *action;
-
-    action = new QAction(QtIconLoader::icon("media-playback-start"), tr("&Manually Start Playing"), this);
-    action->setStatusTip(tr("Manually start playing videos"));
-    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_B));
-    action->setCheckable(true);
-    connect(action, SIGNAL(toggled(bool)), SLOT(setManualPlay(bool)));
-    actions->insert("manualplay", action);
-
-    action = new QAction(tr("&Downloads"), this);
-    action->setStatusTip(tr("Show details about video downloads"));
-    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_J));
-    action->setCheckable(true);
-    action->setIcon(QtIconLoader::icon("go-down"));
-    action->setVisible(false);
-    connect(action, SIGNAL(toggled(bool)), SLOT(toggleDownloads(bool)));
-    actions->insert("downloads", action);
-
-    action = new QAction(tr("&Download"), this);
-    action->setStatusTip(tr("Download the current video"));
-#ifndef APP_NO_DOWNLOADS
-    action->setShortcut(QKeySequence::Save);
-#endif
-    action->setIcon(QtIconLoader::icon("go-down"));
-    action->setEnabled(false);
-#if QT_VERSION >= 0x040600
-    action->setPriority(QAction::LowPriority);
-#endif
-    connect(action, SIGNAL(triggered()), mediaView, SLOT(downloadVideo()));
-    actions->insert("download", action);
-
-    /*
-    action = new QAction(tr("&Snapshot"), this);
-    action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
-    actions->insert("snapshot", action);
-    connect(action, SIGNAL(triggered()), mediaView, SLOT(snapshot()));
-    */
-
-    QString shareTip = tr("Share the current video using %1");
-
-    action = new QAction("&Twitter", this);
-    action->setStatusTip(shareTip.arg("Twitter"));
-    actions->insert("twitter", action);
-    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaTwitter()));
-
-    action = new QAction("&Facebook", this);
-    action->setStatusTip(shareTip.arg("Facebook"));
-    actions->insert("facebook", action);
-    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaFacebook()));
-
-    action = new QAction("&Buffer", this);
-    action->setStatusTip(shareTip.arg("Buffer"));
-    actions->insert("buffer", action);
-    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaBuffer()));
-
-    action = new QAction(tr("&Email"), this);
-    action->setStatusTip(shareTip.arg(tr("Email")));
-    actions->insert("email", action);
-    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaEmail()));
-
-    action = new QAction(tr("&Close"), this);
-    action->setShortcut(QKeySequence(QKeySequence::Close));
-    actions->insert("close", action);
-    connect(action, SIGNAL(triggered()), SLOT(close()));
-
-    action = new QAction(Constants::NAME, this);
-    action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_1));
-    actions->insert("restore", action);
-    connect(action, SIGNAL(triggered()), SLOT(restore()));
-
-    action = new QAction(QtIconLoader::icon("go-top"), tr("&Float on Top"), this);
-    action->setCheckable(true);
-    actions->insert("ontop", action);
-    connect(action, SIGNAL(toggled(bool)), SLOT(floatOnTop(bool)));
-
-    action = new QAction(QtIconLoader::icon("media-playback-stop"), tr("&Stop After This Video"), this);
-    action->setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Escape));
-    action->setCheckable(true);
-    action->setEnabled(false);
-    actions->insert("stopafterthis", action);
-    connect(action, SIGNAL(toggled(bool)), SLOT(showStopAfterThisInStatusBar(bool)));
-
-    action = new QAction(tr("&Report an Issue..."), this);
-    actions->insert("report-issue", action);
-    connect(action, SIGNAL(triggered()), SLOT(reportIssue()));
-
-    action = new QAction(tr("&Refine Search..."), this);
-    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R));
-    action->setCheckable(true);
-    actions->insert("refine-search", action);
-
-    // common action properties
-    foreach (QAction *action, actions->values()) {
-
-        // add actions to the MainWindow so that they work
-        // when the menu is hidden
-        addAction(action);
-
-        // never autorepeat.
-        // unexperienced users tend to keep keys pressed for a "long" time
-        action->setAutoRepeat(false);
-
-        // set to something more meaningful then the toolbar text
-        if (!action->statusTip().isEmpty())
-            action->setToolTip(action->statusTip());
-
-        // show keyboard shortcuts in the status bar
-        if (!action->shortcut().isEmpty())
-            action->setStatusTip(action->statusTip() + " (" + action->shortcut().toString(QKeySequence::NativeText) + ")");
-
-        // no icons in menus
-        action->setIconVisibleInMenu(false);
-
-    }
-
-}
-
-void MainWindow::createMenus() {
-
-    QMap<QString, QMenu*> *menus = The::globalMenus();
-
-    fileMenu = menuBar()->addMenu(tr("&Application"));
-#ifdef APP_DEMO
-    QAction* action = new QAction(tr("Buy %1...").arg(Constants::NAME), this);
-    action->setMenuRole(QAction::ApplicationSpecificRole);
-    connect(action, SIGNAL(triggered()), SLOT(buy()));
-    fileMenu->addAction(action);
-#endif
-    fileMenu->addAction(clearAct);
-#ifndef APP_MAC
-    fileMenu->addSeparator();
-#endif
-    fileMenu->addAction(quitAct);
-
-    QMenu* playbackMenu = menuBar()->addMenu(tr("&Playback"));
-    menus->insert("playback", playbackMenu);
-    playbackMenu->addAction(pauseAct);
-    playbackMenu->addAction(stopAct);
-    playbackMenu->addAction(The::globalActions()->value("stopafterthis"));
-    playbackMenu->addSeparator();
-    playbackMenu->addAction(skipAct);
-    playbackMenu->addAction(skipBackwardAct);
-    playbackMenu->addSeparator();
-    playbackMenu->addAction(The::globalActions()->value("manualplay"));
-#ifdef APP_MAC
-    MacSupport::dockMenu(playbackMenu);
-#endif
-
-    playlistMenu = menuBar()->addMenu(tr("&Playlist"));
-    menus->insert("playlist", playlistMenu);
-    playlistMenu->addAction(removeAct);
-    playlistMenu->addSeparator();
-    playlistMenu->addAction(moveUpAct);
-    playlistMenu->addAction(moveDownAct);
-    playlistMenu->addSeparator();
-    playlistMenu->addAction(The::globalActions()->value("refine-search"));
-
-    QMenu* videoMenu = menuBar()->addMenu(tr("&Video"));
-    menus->insert("video", videoMenu);
-    videoMenu->addAction(findVideoPartsAct);
-    videoMenu->addSeparator();
-    videoMenu->addAction(webPageAct);
-    videoMenu->addSeparator();
-#ifndef APP_NO_DOWNLOADS
-    videoMenu->addAction(The::globalActions()->value("download"));
-    // videoMenu->addAction(copyLinkAct);
-#endif
-    // videoMenu->addAction(The::globalActions()->value("snapshot"));
-
-    QMenu* viewMenu = menuBar()->addMenu(tr("&View"));
-    menus->insert("view", viewMenu);
-    viewMenu->addAction(fullscreenAct);
-    viewMenu->addAction(compactViewAct);
-    viewMenu->addSeparator();
-    viewMenu->addAction(The::globalActions()->value("ontop"));
-
-    QMenu* shareMenu = menuBar()->addMenu(tr("&Share"));
-    menus->insert("share", shareMenu);
-    shareMenu->addAction(copyPageAct);
-    shareMenu->addSeparator();
-    shareMenu->addAction(The::globalActions()->value("twitter"));
-    shareMenu->addAction(The::globalActions()->value("facebook"));
-    shareMenu->addAction(The::globalActions()->value("buffer"));
-    shareMenu->addSeparator();
-    shareMenu->addAction(The::globalActions()->value("email"));
-
-#ifdef APP_MAC
-    MacSupport::windowMenu(this);
-#endif
-
-    helpMenu = menuBar()->addMenu(tr("&Help"));
-    helpMenu->addAction(siteAct);
-#if !defined(APP_MAC) && !defined(APP_WIN)
-    helpMenu->addAction(donateAct);
-#endif
-    helpMenu->addAction(The::globalActions()->value("report-issue"));
-    helpMenu->addAction(aboutAct);
-}
-
-void MainWindow::createToolBars() {
-
-    setUnifiedTitleAndToolBarOnMac(true);
-
-    mainToolBar = new QToolBar(this);
-#if QT_VERSION < 0x040600 | defined(APP_MAC)
-    mainToolBar->setToolButtonStyle(Qt::ToolButtonIconOnly);
-#else
-    mainToolBar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
-#endif
-    mainToolBar->setFloatable(false);
-    mainToolBar->setMovable(false);
-
-#if defined(APP_MAC) | defined(APP_WIN)
-    mainToolBar->setIconSize(QSize(32, 32));
-#endif
-
-    mainToolBar->addAction(stopAct);
-    mainToolBar->addAction(pauseAct);
-    mainToolBar->addAction(skipAct);
-
-    bool addFullScreenAct = true;
-#ifdef Q_WS_MAC
-    addFullScreenAct = !mac::CanGoFullScreen(winId());
-#endif
-    if (addFullScreenAct) mainToolBar->addAction(fullscreenAct);
-
-#ifndef APP_NO_DOWNLOADS
-    mainToolBar->addAction(The::globalActions()->value("download"));
-#endif
-
-    mainToolBar->addWidget(new Spacer());
-
-    QFont smallerFont = FontUtils::small();
-    currentTime = new QLabel(mainToolBar);
-    currentTime->setFont(smallerFont);
-    mainToolBar->addWidget(currentTime);
-
-    mainToolBar->addWidget(new Spacer());
-
-    seekSlider = new Phonon::SeekSlider(this);
-    seekSlider->setIconVisible(false);
-    seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
-    mainToolBar->addWidget(seekSlider);
-
-/*
-    mainToolBar->addWidget(new Spacer());
-    slider = new QSlider(this);
-    slider->setOrientation(Qt::Horizontal);
-    slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
-    mainToolBar->addWidget(slider);
-*/
-
-    mainToolBar->addWidget(new Spacer());
-
-    totalTime = new QLabel(mainToolBar);
-    totalTime->setFont(smallerFont);
-    mainToolBar->addWidget(totalTime);
-
-    mainToolBar->addWidget(new Spacer());
-
-    mainToolBar->addAction(volumeMuteAct);
-
-    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);
-
-    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 YouTubeSuggest(this));
-    connect(toolbarSearch, SIGNAL(search(const QString&)), this, SLOT(startToolbarSearch(const QString&)));
-    connect(toolbarSearch, SIGNAL(suggestionAccepted(const QString&)), SLOT(startToolbarSearch(const QString&)));
-    toolbarSearch->setStatusTip(searchFocusAct->statusTip());
-#ifdef APP_MAC
-    mainToolBar->addWidget(searchWrapper);
-#else
-    mainToolBar->addWidget(toolbarSearch);
-    Spacer* spacer = new Spacer();
-    // spacer->setWidth(4);
-    mainToolBar->addWidget(spacer);
-#endif
-
-    addToolBar(mainToolBar);
-}
-
-void MainWindow::createStatusBar() {
-    QToolBar* toolBar = new QToolBar(this);
-    statusToolBar = toolBar;
-    toolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
-    toolBar->setIconSize(QSize(16, 16));
-    toolBar->addAction(The::globalActions()->value("downloads"));
-    toolBar->addAction(The::globalActions()->value("definition"));
-    statusBar()->addPermanentWidget(toolBar);
-    statusBar()->show();
-}
-
-void MainWindow::showStopAfterThisInStatusBar(bool show) {
-    QAction* action = The::globalActions()->value("stopafterthis");
-    showActionInStatusBar(action, show);
-}
-
-void MainWindow::showActionInStatusBar(QAction* action, bool show) {
-    if (show) {
-        statusToolBar->insertAction(statusToolBar->actions().first(), action);
-    } else {
-        statusToolBar->removeAction(action);
-    }
-}
-
-void MainWindow::readSettings() {
-    QSettings settings;
-    if (settings.contains("geometry")) {
-        restoreGeometry(settings.value("geometry").toByteArray());
-#ifdef APP_MAC
-    MacSupport::fixGeometry(this);
-#endif
-    } else {
-        setGeometry(100, 100, 1000, 500);
-    }
-    setDefinitionMode(settings.value("definition", VideoDefinition::getDefinitionNames().first()).toString());
-    audioOutput->setVolume(settings.value("volume", 1).toDouble());
-    audioOutput->setMuted(settings.value("volumeMute").toBool());
-    The::globalActions()->value("manualplay")->setChecked(settings.value("manualplay", false).toBool());
-}
-
-void MainWindow::writeSettings() {
-    QSettings settings;
-
-    settings.setValue("geometry", saveGeometry());
-    mediaView->saveSplitterState();
-
-    settings.setValue("volume", audioOutput->volume());
-    settings.setValue("volumeMute", audioOutput->isMuted());
-    settings.setValue("manualplay", The::globalActions()->value("manualplay")->isChecked());
-}
-
-void MainWindow::goBack() {
-    if ( history->size() > 1 ) {
-        history->pop();
-        QWidget *widget = history->pop();
-        showWidget(widget);
-    }
-}
-
-void MainWindow::showWidget ( QWidget* widget ) {
-
-    if (compactViewAct->isChecked())
-        compactViewAct->toggle();
-
-    setUpdatesEnabled(false);
-
-    // call hide method on the current view
-    View* oldView = dynamic_cast<View *> (views->currentWidget());
-    if (oldView) {
-        oldView->disappear();
-        views->currentWidget()->setEnabled(false);
-    }
-
-    // call show method on the new view
-    View* newView = dynamic_cast<View *> (widget);
-    if (newView) {
-        widget->setEnabled(true);
-        newView->appear();
-        QMap<QString,QVariant> metadata = newView->metadata();
-        QString windowTitle = metadata.value("title").toString();
-        if (windowTitle.length())
-            windowTitle += " - ";
-        setWindowTitle(windowTitle + Constants::NAME);
-        statusBar()->showMessage((metadata.value("description").toString()));
-    }
-
-    stopAct->setEnabled(widget == mediaView);
-    compactViewAct->setEnabled(widget == mediaView);
-    webPageAct->setEnabled(widget == mediaView);
-    copyPageAct->setEnabled(widget == mediaView);
-    copyLinkAct->setEnabled(widget == mediaView);
-    findVideoPartsAct->setEnabled(widget == mediaView);
-    toolbarSearch->setEnabled(widget == searchView || widget == mediaView || widget == downloadView);
-
-    if (widget == searchView) {
-        skipAct->setEnabled(false);
-        The::globalActions()->value("previous")->setEnabled(false);
-        The::globalActions()->value("download")->setEnabled(false);
-        The::globalActions()->value("stopafterthis")->setEnabled(false);
-    }
-
-    The::globalActions()->value("twitter")->setEnabled(widget == mediaView);
-    The::globalActions()->value("facebook")->setEnabled(widget == mediaView);
-    The::globalActions()->value("buffer")->setEnabled(widget == mediaView);
-    The::globalActions()->value("email")->setEnabled(widget == mediaView);
-
-    aboutAct->setEnabled(widget != aboutView);
-    The::globalActions()->value("downloads")->setChecked(widget == downloadView);
-
-    // toolbar only for the mediaView
-    /* mainToolBar->setVisible(
-            (widget == mediaView && !compactViewAct->isChecked())
-            || widget == downloadView
-            ); */
-
-    setUpdatesEnabled(true);
-
-    QWidget *oldWidget = views->currentWidget();
-    if (oldWidget)
-        oldWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-
-    views->setCurrentWidget(widget);
-    widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
-    // adjustSize();
-
-#ifndef Q_WS_X11
-    Extra::fadeInWidget(oldWidget, widget);
-#endif
-
-    history->push(widget);
-}
-
-void MainWindow::about() {
-    if (!aboutView) {
-        aboutView = new AboutView(this);
-        views->addWidget(aboutView);
-    }
-    showWidget(aboutView);
-}
-
-void MainWindow::visitSite() {
-    QUrl url(Constants::WEBSITE);
-    statusBar()->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())));
-    QDesktopServices::openUrl(url);
-}
-
-void MainWindow::reportIssue() {
-    QUrl url("http://flavio.tordini.org/forums/forum/minitube-forums/minitube-troubleshooting");
-    QDesktopServices::openUrl(url);
-}
-
-void MainWindow::quit() {
-#ifdef APP_MAC
-    if (!confirmQuit()) {
-        return;
-    }
-#endif
-    // do not save geometry when in full screen or in compact mode
-    if (!m_fullscreen && !compactViewAct->isChecked()) {
-        writeSettings();
-    }
-    Temporary::deleteAll();
-    qApp->quit();
-}
-
-void MainWindow::closeEvent(QCloseEvent *event) {
-#ifdef APP_MAC
-    mac::closeWindow(winId());
-    event->ignore();
-#else
-    if (!confirmQuit()) {
-        event->ignore();
-        return;
-    }
-    QWidget::closeEvent(event);
-    quit();
-#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.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);
-        // make it a "sheet" on the Mac
-        msgBox.setWindowModality(Qt::WindowModal);
-
-        msgBox.addButton(tr("Close and cancel download"), QMessageBox::RejectRole);
-        QPushButton *waitButton = msgBox.addButton(tr("Wait for download to finish"), QMessageBox::ActionRole);
-
-        msgBox.exec();
-
-        if (msgBox.clickedButton() == waitButton) {
-            return false;
-        }
-    }
-    return true;
-}
-
-void MainWindow::showSearch() {
-    showWidget(searchView);
-    currentTime->clear();
-    totalTime->clear();
-}
-
-void MainWindow::showMedia(SearchParams *searchParams) {
-    mediaView->search(searchParams);
-    showWidget(mediaView);
-}
-
-void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) {
-
-    // qDebug() << "Phonon state: " << newState;
-
-    switch (newState) {
-
-    case Phonon::ErrorState:
-        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()));
-        } else {
-            statusBar()->showMessage(tr("Error: %1").arg(mediaObject->errorString()));
-        }
-        break;
-
-         case Phonon::PlayingState:
-        pauseAct->setEnabled(true);
-        pauseAct->setIcon(QtIconLoader::icon("media-playback-pause"));
-        pauseAct->setText(tr("&Pause"));
-        pauseAct->setStatusTip(tr("Pause playback") + " (" +  pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
-        // stopAct->setEnabled(true);
-        break;
-
-         case Phonon::StoppedState:
-        pauseAct->setEnabled(false);
-        // stopAct->setEnabled(false);
-        break;
-
-         case Phonon::PausedState:
-        pauseAct->setEnabled(true);
-        pauseAct->setIcon(QtIconLoader::icon("media-playback-start"));
-        pauseAct->setText(tr("&Play"));
-        pauseAct->setStatusTip(tr("Resume playback") + " (" +  pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
-        // stopAct->setEnabled(true);
-        break;
-
-         case Phonon::BufferingState:
-         case Phonon::LoadingState:
-        pauseAct->setEnabled(false);
-        currentTime->clear();
-        totalTime->clear();
-        // stopAct->setEnabled(true);
-        break;
-
-         default:
-        ;
-    }
-}
-
-void MainWindow::stop() {
-    mediaView->stop();
-    showSearch();
-}
-
-void MainWindow::resizeEvent(QResizeEvent*) {
-#ifdef Q_WS_MAC
-    if (mac::CanGoFullScreen(winId())) {
-        bool isFullscreen = mac::IsFullScreen(winId());
-        if (isFullscreen != m_fullscreen) {
-            if (compactViewAct->isChecked()) {
-                compactViewAct->setChecked(false);
-                compactView(false);
-            }
-            m_fullscreen = isFullscreen;
-            updateUIForFullscreen();
-        }
-    }
-#endif
-}
-
-void MainWindow::fullscreen() {
-
-    if (compactViewAct->isChecked())
-        compactViewAct->toggle();
-
-#ifdef Q_WS_MAC
-    WId handle = winId();
-    if (mac::CanGoFullScreen(handle)) {
-        mainToolBar->setVisible(true);
-        mac::ToggleFullScreen(handle);
-        return;
-    }
-#endif
-
-    m_fullscreen = !m_fullscreen;
-
-    if (m_fullscreen) {
-        // Enter full screen
-
-        m_maximized = isMaximized();
-
-        // save geometry now, if the user quits when in full screen
-        // geometry won't be saved
-        writeSettings();
-
-#ifdef Q_WS_MAC
-        MacSupport::enterFullScreen(this, views);
-#else
-        mainToolBar->hide();
-        showFullScreen();
-#endif
-
-    } else {
-        // Exit full screen
-
-#ifdef Q_WS_MAC
-        MacSupport::exitFullScreen(this, views);
-#else
-        mainToolBar->show();
-        if (m_maximized) showMaximized();
-        else showNormal();
-#endif
-
-        // Make sure the window has focus
-        activateWindow();
-
-    }
-
-    updateUIForFullscreen();
-
-}
-
-void MainWindow::updateUIForFullscreen() {
-    static QList<QKeySequence> fsShortcuts;
-    static QString fsText;
-
-    if (m_fullscreen) {
-        fsShortcuts = fullscreenAct->shortcuts();
-        fsText = fullscreenAct->text();
-        fullscreenAct->setShortcuts(QList<QKeySequence>(fsShortcuts)
-                                    << QKeySequence(Qt::Key_Escape));
-        fullscreenAct->setText(tr("Leave &Full Screen"));
-    } else {
-        fullscreenAct->setShortcuts(fsShortcuts);
-        fullscreenAct->setText(fsText);
-    }
-
-    // No compact view action when in full screen
-    compactViewAct->setVisible(!m_fullscreen);
-    compactViewAct->setChecked(false);
-
-    // Hide anything but the video
-    mediaView->setPlaylistVisible(!m_fullscreen);
-    statusBar()->setVisible(!m_fullscreen);
-
-#ifndef APP_MAC
-    menuBar()->setVisible(!m_fullscreen);
-#endif
-
-    if (m_fullscreen) {
-        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
-    } else {
-        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
-    }
-
-#ifdef Q_WS_MAC
-    MacSupport::fullScreenActions(The::globalActions()->values(), m_fullscreen);
-#endif
-
-    if (views->currentWidget() == mediaView)
-        mediaView->setFocus();
-
-    if (m_fullscreen) {
-        hideMouse();
-    } else {
-        mouseTimer->stop();
-        unsetCursor();
-    }
-}
-
-void MainWindow::compactView(bool enable) {
-
-    static QList<QKeySequence> compactShortcuts;
-    static QList<QKeySequence> stopShortcuts;
-
-    const static QString key = "compactGeometry";
-    QSettings settings;
-
-#ifndef APP_MAC
-    menuBar()->setVisible(!enable);
-#endif
-
-    if (enable) {
-        setMinimumSize(160, 120);
-#ifdef Q_WS_MAC
-        mac::RemoveFullScreenWindow(winId());
-#endif
-        writeSettings();
-
-        if (settings.contains(key))
-            restoreGeometry(settings.value(key).toByteArray());
-        else
-            resize(320, 240);
-
-        mainToolBar->setVisible(!enable);
-        mediaView->setPlaylistVisible(!enable);
-        statusBar()->setVisible(!enable);
-
-        compactShortcuts = compactViewAct->shortcuts();
-        stopShortcuts = stopAct->shortcuts();
-
-        QList<QKeySequence> newStopShortcuts(stopShortcuts);
-        newStopShortcuts.removeAll(QKeySequence(Qt::Key_Escape));
-        stopAct->setShortcuts(newStopShortcuts);
-        compactViewAct->setShortcuts(QList<QKeySequence>(compactShortcuts) << QKeySequence(Qt::Key_Escape));
-
-        // ensure focus does not end up to the search box
-        // as it would steal the Space shortcut
-        mediaView->setFocus();
-
-    } else {
-        // unset minimum size
-        setMinimumSize(0, 0);
-#ifdef Q_WS_MAC
-        mac::SetupFullScreenWindow(winId());
-#endif
-        settings.setValue(key, saveGeometry());
-        mainToolBar->setVisible(!enable);
-        mediaView->setPlaylistVisible(!enable);
-        statusBar()->setVisible(!enable);
-        readSettings();
-
-        compactViewAct->setShortcuts(compactShortcuts);
-        stopAct->setShortcuts(stopShortcuts);
-    }
-
-    // auto float on top
-    floatOnTop(enable);
-}
-
-void MainWindow::searchFocus() {
-    toolbarSearch->selectAll();
-    toolbarSearch->setFocus();
-}
-
-void MainWindow::initPhonon() {
-    // Phonon initialization
-    if (mediaObject) delete mediaObject;
-    if (audioOutput) delete audioOutput;
-    mediaObject = new Phonon::MediaObject(this);
-    mediaObject->setTickInterval(100);
-    connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
-            this, SLOT(stateChanged(Phonon::State, Phonon::State)));
-    connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick(qint64)));
-    connect(mediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
-    seekSlider->setMediaObject(mediaObject);
-    audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory, this);
-    connect(audioOutput, SIGNAL(volumeChanged(qreal)), this, SLOT(volumeChanged(qreal)));
-    connect(audioOutput, SIGNAL(mutedChanged(bool)), this, SLOT(volumeMutedChanged(bool)));
-    volumeSlider->setAudioOutput(audioOutput);
-    Phonon::createPath(mediaObject, audioOutput);
-}
-
-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;
-    }
-
-    currentTime->setText(formatTime(time));
-
-    // remaining time
-    const qint64 remainingTime = mediaObject->remainingTime();
-    currentTime->setStatusTip(tr("Remaining time: %1").arg(formatTime(remainingTime)));
-
-    /*
-    slider->blockSignals(true);
-    slider->setValue(time/1000);
-    slider->blockSignals(false);
-    */
-}
-
-void MainWindow::totalTimeChanged(qint64 time) {
-    if (time <= 0) {
-        totalTime->clear();
-        return;
-    }
-    totalTime->setText(formatTime(time));
-
-    /*
-    slider->blockSignals(true);
-    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;
-}
-
-void MainWindow::volumeUp() {
-    qreal newVolume = volumeSlider->audioOutput()->volume() + .1;
-    if (newVolume > volumeSlider->maximumVolume())
-        newVolume = volumeSlider->maximumVolume();
-    volumeSlider->audioOutput()->setVolume(newVolume);
-}
-
-void MainWindow::volumeDown() {
-    qreal newVolume = volumeSlider->audioOutput()->volume() - .1;
-    if (newVolume < 0)
-        newVolume = 0;
-    volumeSlider->audioOutput()->setVolume(newVolume);
-}
-
-void MainWindow::volumeMute() {
-    volumeSlider->audioOutput()->setMuted(!volumeSlider->audioOutput()->isMuted());
-}
-
-void MainWindow::volumeChanged(qreal newVolume) {
-    // automatically unmute when volume changes
-    if (volumeSlider->audioOutput()->isMuted())
-        volumeSlider->audioOutput()->setMuted(false);
-    statusBar()->showMessage(tr("Volume at %1%").arg((int)(newVolume*100)));
-}
-
-void MainWindow::volumeMutedChanged(bool muted) {
-    if (muted) {
-        volumeMuteAct->setIcon(QtIconLoader::icon("audio-volume-muted"));
-        statusBar()->showMessage(tr("Volume is muted"));
-    } else {
-        volumeMuteAct->setIcon(QtIconLoader::icon("audio-volume-high"));
-        statusBar()->showMessage(tr("Volume is unmuted"));
-    }
-}
-
-void MainWindow::setDefinitionMode(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());
-    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;
-    }
-    QString nextDefinition = definitionNames.at(nextIndex);
-    setDefinitionMode(nextDefinition);
-}
-
-void MainWindow::showFullscreenToolbar(bool show) {
-    if (!m_fullscreen) return;
-    mainToolBar->setVisible(show);
-}
-
-void MainWindow::showFullscreenPlaylist(bool show) {
-    if (!m_fullscreen) return;
-    mediaView->setPlaylistVisible(show);
-}
-
-void MainWindow::clearRecentKeywords() {
-    QSettings settings;
-    settings.remove("recentKeywords");
-    settings.remove("recentChannels");
-    searchView->updateRecentKeywords();
-    searchView->updateRecentChannels();
-    statusBar()->showMessage(tr("Your privacy is now safe"));
-}
-
-void MainWindow::setManualPlay(bool enabled) {
-    QSettings settings;
-    settings.setValue("manualplay", QVariant::fromValue(enabled));
-    showActionInStatusBar(The::globalActions()->value("manualplay"), enabled);
-}
-
-void MainWindow::updateDownloadMessage(QString message) {
-    The::globalActions()->value("downloads")->setText(message);
-}
-
-void MainWindow::downloadsFinished() {
-    The::globalActions()->value("downloads")->setText(tr("&Downloads"));
-    statusBar()->showMessage(tr("Downloads complete"));
-}
-
-void MainWindow::toggleDownloads(bool show) {
-
-    if (show) {
-        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
-        The::globalActions()->value("downloads")->setShortcuts(
-                QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J)
-                << QKeySequence(Qt::Key_Escape));
-    } else {
-        The::globalActions()->value("downloads")->setShortcuts(
-                QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J));
-        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
-    }
-
-    if (!downloadView) {
-        downloadView = new DownloadView(this);
-        views->addWidget(downloadView);
-    }
-    if (show) showWidget(downloadView);
-    else goBack();
-}
-
-void MainWindow::startToolbarSearch(QString query) {
-    query = query.trimmed();
-
-    // check for empty query
-    if (query.length() == 0) {
-        return;
-    }
-
-    SearchParams *searchParams = new SearchParams();
-    searchParams->setKeywords(query);
-
-    // go!
-    showMedia(searchParams);
-}
-
-void MainWindow::dragEnterEvent(QDragEnterEvent *event) {
-    if (event->mimeData()->hasFormat("text/uri-list")) {
-        QList<QUrl> urls = event->mimeData()->urls();
-        if (urls.isEmpty())
-            return;
-        QUrl url = urls.first();
-        QString videoId = YouTubeSearch::videoIdFromUrl(url.toString());
-        if (!videoId.isNull())
-            event->acceptProposedAction();
-    }
-}
-
-void MainWindow::dropEvent(QDropEvent *event) {
-    QList<QUrl> urls = event->mimeData()->urls();
-    if (urls.isEmpty())
-        return;
-    QUrl url = urls.first();
-    QString videoId = YouTubeSearch::videoIdFromUrl(url.toString());
-    if (!videoId.isNull()) {
-        setWindowTitle(url.toString());
-        SearchParams *searchParams = new SearchParams();
-        searchParams->setKeywords(videoId);
-        showMedia(searchParams);
-    }
-}
-
-void MainWindow::checkForUpdate() {
-    static const QString updateCheckKey = "updateCheck";
-
-    // check every 24h
-    QSettings settings;
-    uint unixTime = QDateTime::currentDateTime().toTime_t();
-    int lastCheck = settings.value(updateCheckKey).toInt();
-    int secondsSinceLastCheck = unixTime - lastCheck;
-    // qDebug() << "secondsSinceLastCheck" << unixTime << lastCheck << secondsSinceLastCheck;
-    if (secondsSinceLastCheck < 86400) return;
-
-    // check it out
-    if (updateChecker) delete updateChecker;
-    updateChecker = new UpdateChecker();
-    connect(updateChecker, SIGNAL(newVersion(QString)),
-            this, SLOT(gotNewVersion(QString)));
-    updateChecker->checkForUpdate();
-    settings.setValue(updateCheckKey, unixTime);
-
-}
-
-void MainWindow::gotNewVersion(QString version) {
-    if (updateChecker) {
-        delete updateChecker;
-        updateChecker = 0;
-    }
-
-#if defined(APP_DEMO) || defined(APP_MAC_STORE) || defined(APP_USC)
-    return;
-#endif
-
-    QSettings settings;
-    QString checkedVersion = settings.value("checkedVersion").toString();
-    if (checkedVersion == version) return;
-
-    QMessageBox msgBox(this);
-    msgBox.setIconPixmap(QPixmap(":/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);
-    // make it a "sheet" on the Mac
-    msgBox.setWindowModality(Qt::WindowModal);
-
-    QPushButton* laterButton = 0;
-    QPushButton* updateButton = 0;
-
-#if defined(APP_MAC) || defined(APP_WIN)
-    msgBox.setInformativeText(
-                tr("To get the updated version, download %1 again from the link you received via email and reinstall.")
-                .arg(Constants::NAME)
-                );
-    laterButton = msgBox.addButton(tr("Remind me later"), QMessageBox::RejectRole);
-    msgBox.addButton(QMessageBox::Ok);
-#else
-    msgBox.addButton(QMessageBox::Close);
-    updateButton = msgBox.addButton(tr("Update"), QMessageBox::AcceptRole);
-#endif
-
-    msgBox.exec();
-
-    if (msgBox.clickedButton() != laterButton) {
-        settings.setValue("checkedVersion", version);
-    }
-
-    if (updateButton && msgBox.clickedButton() == updateButton) {
-        QDesktopServices::openUrl(QUrl(QLatin1String(Constants::WEBSITE) + "#download"));
-    }
-
-}
-
-void MainWindow::floatOnTop(bool onTop) {
-    showActionInStatusBar(The::globalActions()->value("ontop"), onTop);
-#ifdef APP_MAC
-    mac::floatOnTop(winId(), onTop);
-    return;
-#endif
-    if (onTop) {
-        setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
-        show();
-    } else {
-        setWindowFlags(windowFlags() ^ Qt::WindowStaysOnTopHint);
-        show();
-    }
-}
-
-void MainWindow::restore() {
-#ifdef APP_MAC
-    mac::uncloseWindow(window()->winId());
-#endif
-}
-
-void MainWindow::messageReceived(const QString &message) {
-    if (message == "--toggle-playing") {
-        if (pauseAct->isEnabled()) pauseAct->trigger();
-    } else if (message == "--next") {
-        if (skipAct->isEnabled()) skipAct->trigger();
-    } else if (message == "--previous") {
-        if (skipBackwardAct->isEnabled()) skipBackwardAct->trigger();
-    }  else if (message.startsWith("--")) {
-        MainWindow::printHelp();
-    } else if (!message.isEmpty()) {
-        SearchParams *searchParams = new SearchParams();
-        searchParams->setKeywords(message);
-        showMedia(searchParams);
-    }
-}
-
-void MainWindow::hideMouse() {
-    setCursor(Qt::BlankCursor);
-    mediaView->setPlaylistVisible(false);
-#ifndef APP_MAC
-    mainToolBar->setVisible(false);
-#endif
-}
-
-void MainWindow::printHelp() {
-    QString msg = QString("%1 %2\n\n").arg(Constants::NAME, Constants::VERSION);
-    msg += "Usage: minitube [options]\n";
-    msg += "Options:\n";
-    msg += "  --toggle-playing\t";
-    msg += "Start or pause playback.\n";
-    msg += "  --next\t\t";
-    msg += "Skip to the next video.\n";
-    msg += "  --previous\t\t";
-    msg += "Go back to the previous video.\n";
-    std::cout << msg.toLocal8Bit().data();
-}
diff --git a/src/MainWindow.h b/src/MainWindow.h
deleted file mode 100644 (file)
index ee21703..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QtGui>
-#include <phonon/audiooutput.h>
-#include <phonon/volumeslider.h>
-#include <phonon/mediaobject.h>
-#include <phonon/seekslider.h>
-#include "View.h"
-#include "SearchView.h"
-#include "MediaView.h"
-#include "AboutView.h"
-#include "downloadview.h"
-
-class SearchLineEdit;
-class UpdateChecker;
-
-class MainWindow : public QMainWindow {
-
-    Q_OBJECT
-
-public:
-    static MainWindow* instance();
-    MainWindow();
-    ~MainWindow();
-    Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
-    void readSettings();
-    void writeSettings();
-    static void printHelp();
-
-public slots:
-    void showMedia(SearchParams *params);
-    void restore();
-    void messageReceived(const QString &message);
-    void quit();
-    void startToolbarSearch(QString query);
-
-protected:
-    void changeEvent(QEvent *);
-    void closeEvent(QCloseEvent *);
-    bool eventFilter(QObject *obj, QEvent *event);
-    void dragEnterEvent(QDragEnterEvent *event);
-    void dropEvent(QDropEvent *event);
-    void resizeEvent(QResizeEvent *);
-
-private slots:
-    void checkForUpdate();
-    void gotNewVersion(QString version);
-    void goBack();
-    void showSearch();
-    void visitSite();
-    void donate();
-    void reportIssue();
-    void about();
-    void fullscreen();
-    void updateUIForFullscreen();
-    void compactView(bool enable);
-    void stop();
-    void stateChanged(Phonon::State newState, Phonon::State oldState);
-    void searchFocus();
-    void tick(qint64 time);
-    void totalTimeChanged(qint64 time);
-    void setDefinitionMode(QString definitionName);
-    void toggleDefinitionMode();
-    void clearRecentKeywords();
-
-    // volume shortcuts
-    void volumeUp();
-    void volumeDown();
-    void volumeMute();
-    void volumeChanged(qreal newVolume);
-    void volumeMutedChanged(bool muted);
-
-    // fullscreen toolbar
-    void showFullscreenToolbar(bool show);
-    void showFullscreenPlaylist(bool show);
-
-    void setManualPlay(bool enabled);
-    void updateDownloadMessage(QString);
-    void downloadsFinished();
-    void toggleDownloads(bool show);
-
-    void floatOnTop(bool);
-    void showActionInStatusBar(QAction*, bool show);
-    void showStopAfterThisInStatusBar(bool show);
-
-    void hideMouse();
-
-private:
-    void initPhonon();
-    void createActions();
-    void createMenus();
-    void createToolBars();
-    void createStatusBar();
-    void showWidget(QWidget*);
-    static QString formatTime(qint64 time);
-    bool confirmQuit();
-
-    UpdateChecker *updateChecker;
-
-    // view mechanism
-    QStackedWidget *views;
-    QStack<QWidget*> *history;
-
-    // view widgets
-    SearchView *searchView;
-    MediaView *mediaView;
-    QWidget *aboutView;
-    QWidget *downloadView;
-
-    // actions
-    QAction *addGadgetAct;
-    QAction *backAct;
-    QAction *quitAct;
-    QAction *siteAct;
-    QAction *donateAct;
-    QAction *aboutAct;
-    QAction *searchFocusAct;
-
-    // media actions
-    QAction *skipBackwardAct;
-    QAction *skipAct;
-    QAction *pauseAct;
-    QAction *stopAct;
-    QAction *fullscreenAct;
-    QAction *compactViewAct;
-    QAction *webPageAct;
-    QAction *copyPageAct;
-    QAction *copyLinkAct;
-    QAction *volumeUpAct;
-    QAction *volumeDownAct;
-    QAction *volumeMuteAct;
-    QAction *findVideoPartsAct;
-
-    // playlist actions
-    QAction *removeAct;
-    QAction *moveDownAct;
-    QAction *moveUpAct;
-    QAction *fetchMoreAct;
-    QAction *clearAct;
-
-    // menus
-    QMenu *fileMenu;
-    QMenu *viewMenu;
-    QMenu *playlistMenu;
-    QMenu *helpMenu;
-
-    // toolbar
-    QToolBar *mainToolBar;
-    SearchLineEdit *toolbarSearch;
-    QToolBar *statusToolBar;
-
-    // phonon
-    Phonon::SeekSlider *seekSlider;
-    Phonon::VolumeSlider *volumeSlider;
-    Phonon::MediaObject *mediaObject;
-    Phonon::AudioOutput *audioOutput;
-    QLabel *currentTime;
-    QLabel *totalTime;
-
-    bool m_fullscreen;
-    bool m_maximized;
-
-    QTimer *mouseTimer;
-
-};
-
-#endif
diff --git a/src/MediaView.cpp b/src/MediaView.cpp
deleted file mode 100644 (file)
index 012266c..0000000
+++ /dev/null
@@ -1,889 +0,0 @@
-#include "MediaView.h"
-#include "playlistview.h"
-#include "playlist/PrettyItemDelegate.h"
-#include "networkaccess.h"
-#include "videowidget.h"
-#include "minisplitter.h"
-#include "constants.h"
-#include "downloadmanager.h"
-#include "downloaditem.h"
-#include "MainWindow.h"
-#include "temporary.h"
-#include "sidebarwidget.h"
-#include "playlistwidget.h"
-#include "refinesearchwidget.h"
-#include "sidebarwidget.h"
-#ifdef APP_MAC
-#include "macfullscreen.h"
-#endif
-
-namespace The {
-NetworkAccess* http();
-}
-
-namespace The {
-QMap<QString, QAction*>* globalActions();
-QMap<QString, QMenu*>* globalMenus();
-QNetworkAccessManager* networkAccessManager();
-}
-
-MediaView::MediaView(QWidget *parent) : QWidget(parent) {
-
-    reallyStopped = false;
-    downloadItem = 0;
-
-    QBoxLayout *layout = new QVBoxLayout();
-    layout->setMargin(0);
-
-    splitter = new MiniSplitter(this);
-    splitter->setChildrenCollapsible(false);
-
-    listView = new PlaylistView(this);
-    listView->setItemDelegate(new PrettyItemDelegate(this));
-    listView->setSelectionMode(QAbstractItemView::ExtendedSelection);
-
-    // dragndrop
-    listView->setDragEnabled(true);
-    listView->setAcceptDrops(true);
-    listView->setDropIndicatorShown(true);
-    listView->setDragDropMode(QAbstractItemView::DragDrop);
-
-    // cosmetics
-    listView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
-    listView->setFrameShape( QFrame::NoFrame );
-    listView->setAttribute(Qt::WA_MacShowFocusRect, false);
-    listView->setMinimumSize(320,240);
-    listView->setUniformItemSizes(true);
-
-    // respond to the user doubleclicking a playlist item
-    connect(listView, SIGNAL(activated(const QModelIndex &)), this, SLOT(itemActivated(const QModelIndex &)));
-
-    listModel = new ListModel(this);
-    connect(listModel, SIGNAL(activeRowChanged(int)), this, SLOT(activeRowChanged(int)));
-    // needed to restore the selection after dragndrop
-    connect(listModel, SIGNAL(needSelectionFor(QList<Video*>)), this, SLOT(selectVideos(QList<Video*>)));
-    listView->setModel(listModel);
-
-    connect(listView->selectionModel(),
-            SIGNAL(selectionChanged ( const QItemSelection & , const QItemSelection & )),
-            this, SLOT(selectionChanged ( const QItemSelection & , const QItemSelection & )));
-
-    connect(listView, SIGNAL(authorPushed(QModelIndex)), SLOT(authorPushed(QModelIndex)));
-
-    sidebar = new SidebarWidget(this);
-    sidebar->setPlaylist(listView);
-    connect(sidebar->getRefineSearchWidget(), SIGNAL(searchRefined()),
-            SLOT(searchAgain()));
-    connect(listModel, SIGNAL(haveSuggestions(const QStringList &)),
-            sidebar, SLOT(showSuggestions(const QStringList &)));
-    connect(sidebar, SIGNAL(suggestionAccepted(QString)),
-            MainWindow::instance(), SLOT(startToolbarSearch(QString)));
-    splitter->addWidget(sidebar);
-
-    videoAreaWidget = new VideoAreaWidget(this);
-    // videoAreaWidget->setMinimumSize(320,240);
-    videoWidget = new Phonon::VideoWidget(this);
-    videoAreaWidget->setVideoWidget(videoWidget);
-    videoAreaWidget->setListModel(listModel);
-
-    loadingWidget = new LoadingWidget(this);
-    videoAreaWidget->setLoadingWidget(loadingWidget);
-
-    splitter->addWidget(videoAreaWidget);
-
-    layout->addWidget(splitter);
-    setLayout(layout);
-
-    splitter->setStretchFactor(0, 1);
-    splitter->setStretchFactor(1, 6);
-
-    // restore splitter state
-    QSettings settings;
-    splitter->restoreState(settings.value("splitter").toByteArray());
-
-    errorTimer = new QTimer(this);
-    errorTimer->setSingleShot(true);
-    errorTimer->setInterval(3000);
-    connect(errorTimer, SIGNAL(timeout()), SLOT(skipVideo()));
-
-    workaroundTimer = new QTimer(this);
-    workaroundTimer->setSingleShot(true);
-    workaroundTimer->setInterval(3000);
-    connect(workaroundTimer, SIGNAL(timeout()), SLOT(timerPlay()));
-
-#ifdef APP_DEMO
-    demoTimer = new QTimer(this);
-    demoTimer->setSingleShot(true);
-    connect(demoTimer, SIGNAL(timeout()), SLOT(demoMessage()));
-#endif
-
-}
-
-void MediaView::initialize() {
-    connect(videoAreaWidget, SIGNAL(doubleClicked()), The::globalActions()->value("fullscreen"), SLOT(trigger()));
-
-    /*
-    videoAreaWidget->setContextMenuPolicy(Qt::CustomContextMenu);
-    connect(videoAreaWidget, SIGNAL(customContextMenuRequested(QPoint)),
-            this, SLOT(showVideoContextMenu(QPoint)));
-            */
-
-    QAction* refineSearchAction = The::globalActions()->value("refine-search");
-    connect(refineSearchAction, SIGNAL(toggled(bool)),
-            sidebar, SLOT(toggleRefineSearch(bool)));
-}
-
-void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
-    this->mediaObject = mediaObject;
-    Phonon::createPath(this->mediaObject, videoWidget);
-    connect(mediaObject, SIGNAL(finished()), this, SLOT(playbackFinished()));
-    connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
-            this, SLOT(stateChanged(Phonon::State, Phonon::State)));
-    connect(mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
-            this, SLOT(currentSourceChanged(Phonon::MediaSource)));
-    // connect(mediaObject, SIGNAL(bufferStatus(int)), loadingWidget, SLOT(bufferStatus(int)));
-    connect(mediaObject, SIGNAL(aboutToFinish()), SLOT(aboutToFinish()));
-}
-
-void MediaView::search(SearchParams *searchParams) {
-    reallyStopped = false;
-
-#ifdef APP_DEMO
-    demoTimer->stop();
-#endif
-    workaroundTimer->stop();
-    errorTimer->stop();
-
-    this->searchParams = searchParams;
-
-    // start serching for videos
-    listModel->search(searchParams);
-
-    sidebar->showPlaylist();
-    listView->setFocus();
-
-    QString keyword = searchParams->keywords();
-    QString display = keyword;
-    if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
-        int separator = keyword.indexOf("|");
-        if (separator > 0 && separator + 1 < keyword.length()) {
-            display = keyword.mid(separator+1);
-        }
-    }
-
-    sidebar->getRefineSearchWidget()->setSearchParams(searchParams);
-    sidebar->hideSuggestions();
-
-}
-
-void MediaView::searchAgain() {
-    search(searchParams);
-}
-
-void MediaView::appear() {
-    listView->setFocus();
-}
-
-void MediaView::disappear() {
-    timerPlayFlag = true;
-}
-
-void MediaView::handleError(QString /* message */) {
-
-    QTimer::singleShot(500, this, SLOT(startPlaying()));
-
-    /*
-    videoAreaWidget->showError(message);
-    skippedVideo = listModel->activeVideo();
-    // recover from errors by skipping to the next video
-    errorTimer->start(2000);
-    */
-}
-
-void MediaView::stateChanged(Phonon::State newState, Phonon::State /*oldState*/) {
-    // qDebug() << "Phonon state: " << newState;
-    // slider->setEnabled(newState == Phonon::PlayingState);
-
-    switch (newState) {
-
-    case Phonon::ErrorState:
-        qDebug() << "Phonon error:" << mediaObject->errorString() << mediaObject->errorType();
-        if (mediaObject->errorType() == Phonon::FatalError)
-            handleError(mediaObject->errorString());
-        break;
-
-    case Phonon::PlayingState:
-        // qDebug("playing");
-        videoAreaWidget->showVideo();
-        break;
-
-    case Phonon::StoppedState:
-        // qDebug("stopped");
-        // play() has already been called when setting the source
-        // but Phonon on Linux needs a little more help to start playback
-        // if (!reallyStopped) mediaObject->play();
-
-#ifdef APP_MAC
-        // Workaround for Mac playback start problem
-        if (!timerPlayFlag) {
-            // workaroundTimer->start();
-        }
-#endif
-
-        break;
-
-    case Phonon::PausedState:
-        qDebug("paused");
-        break;
-
-    case Phonon::BufferingState:
-        qDebug("buffering");
-        break;
-
-    case Phonon::LoadingState:
-        qDebug("loading");
-        break;
-
-    }
-}
-
-void MediaView::pause() {
-    // qDebug() << "pause() called" << mediaObject->state();
-
-    switch( mediaObject->state() ) {
-    case Phonon::PlayingState:
-        mediaObject->pause();
-        break;
-    default:
-        mediaObject->play();
-        break;
-    }
-
-}
-
-QRegExp MediaView::wordRE(QString s) {
-    return QRegExp("\\W" + s + "\\W?", Qt::CaseInsensitive);
-}
-
-void MediaView::stop() {
-    listModel->abortSearch();
-    reallyStopped = true;
-    mediaObject->stop();
-    videoAreaWidget->clear();
-    workaroundTimer->stop();
-    errorTimer->stop();
-    listView->selectionModel()->clearSelection();
-    if (downloadItem) {
-        downloadItem->stop();
-        delete downloadItem;
-        downloadItem = 0;
-    }
-    The::globalActions()->value("refine-search")->setChecked(false);
-}
-
-void MediaView::activeRowChanged(int row) {
-    if (reallyStopped) return;
-
-    Video *video = listModel->videoAt(row);
-    if (!video) return;
-
-    // now that we have a new video to play
-    // stop all the timers
-    workaroundTimer->stop();
-    errorTimer->stop();
-
-    mediaObject->stop();
-    if (downloadItem) {
-        downloadItem->stop();
-        delete downloadItem;
-        downloadItem = 0;
-    }
-    // slider->setMinimum(0);
-
-    // immediately show the loading widget
-    videoAreaWidget->showLoading(video);
-
-    connect(video, SIGNAL(gotStreamUrl(QUrl)), SLOT(gotStreamUrl(QUrl)), Qt::UniqueConnection);
-    // TODO handle signal in a proper slot and impl item error status
-    connect(video, SIGNAL(errorStreamUrl(QString)), SLOT(handleError(QString)), Qt::UniqueConnection);
-
-    video->loadStreamUrl();
-
-    // reset the timer flag
-    timerPlayFlag = false;
-
-    // video title in the statusbar
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-    if (mainWindow) mainWindow->statusBar()->showMessage(video->title());
-
-
-    // ensure active item is visible
-    // int row = listModel->activeRow();
-    if (row != -1) {
-        QModelIndex index = listModel->index(row, 0, QModelIndex());
-        listView->scrollTo(index, QAbstractItemView::EnsureVisible);
-    }
-
-    // enable/disable actions
-    The::globalActions()->value("download")->setEnabled(DownloadManager::instance()->itemForVideo(video) == 0);
-    The::globalActions()->value("skip")->setEnabled(true);
-    The::globalActions()->value("previous")->setEnabled(row > 0);
-    The::globalActions()->value("stopafterthis")->setEnabled(true);
-
-    // see you in gotStreamUrl...
-
-}
-
-void MediaView::gotStreamUrl(QUrl streamUrl) {
-    if (reallyStopped) return;
-
-    Video *video = static_cast<Video *>(sender());
-    if (!video) {
-        qDebug() << "Cannot get sender";
-        return;
-    }
-    video->disconnect(this);
-
-    QString tempFile = Temporary::filename();
-
-    Video *videoCopy = video->clone();
-    if (downloadItem) {
-        downloadItem->stop();
-        delete downloadItem;
-    }
-    downloadItem = new DownloadItem(videoCopy, streamUrl, tempFile, this);
-    connect(downloadItem, SIGNAL(statusChanged()), SLOT(downloadStatusChanged()), Qt::UniqueConnection);
-    // connect(downloadItem, SIGNAL(progress(int)), SLOT(downloadProgress(int)));
-    connect(downloadItem, SIGNAL(bufferProgress(int)), loadingWidget, SLOT(bufferStatus(int)), Qt::UniqueConnection);
-    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
-    connect(video, SIGNAL(errorStreamUrl(QString)), SLOT(handleError(QString)), Qt::UniqueConnection);
-    connect(downloadItem, SIGNAL(error(QString)), SLOT(handleError(QString)), Qt::UniqueConnection);
-    downloadItem->start();
-
-}
-
-/*
-void MediaView::downloadProgress(int percent) {
-    MainWindow* mainWindow = dynamic_cast<MainWindow*>(window());
-
-    mainWindow->getSeekSlider()->setStyleSheet(" QSlider::groove:horizontal {"
-        "border: 1px solid #999999;"
-        // "border-left: 50px solid rgba(255, 0, 0, 128);"
-        "height: 8px;"
-        "background: qlineargradient(x1:0, y1:0, x2:.5, y2:0, stop:0 rgba(255, 0, 0, 92), stop:"
-        + QString::number(percent/100.0) +
-
-        " rgba(255, 0, 0, 92), stop:" + QString::number((percent+1)/100.0) + " transparent, stop:1 transparent);"
-        "margin: 2px 0;"
-    "}"
-    "QSlider::handle:horizontal {"
-        "background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:1 #8f8f8f);"
-        "border: 1px solid #5c5c5c;"
-        "width: 16px;"
-        "height: 16px;"
-        "margin: -2px 0;"
-        "border-radius: 8px;"
-    "}"
-
-    );
-}
-
-*/
-
-void MediaView::downloadStatusChanged() {
-    switch(downloadItem->status()) {
-    case Downloading:
-        startPlaying();
-        break;
-    case Starting:
-        // qDebug() << "Starting";
-        break;
-    case Finished:
-        // qDebug() << "Finished" << mediaObject->state();
-        // if (mediaObject->state() == Phonon::StoppedState) startPlaying();
-#ifdef Q_WS_X11
-        seekSlider->setEnabled(mediaObject->isSeekable());
-#endif
-        break;
-    case Failed:
-        // qDebug() << "Failed";
-    case Idle:
-        // qDebug() << "Idle";
-        break;
-    }
-}
-
-void MediaView::startPlaying() {
-    if (reallyStopped) return;
-    if (!downloadItem) {
-        skip();
-        return;
-    }
-
-    // go!
-    QString source = downloadItem->currentFilename();
-    qDebug() << "Playing" << source;
-    mediaObject->setCurrentSource(source);
-    mediaObject->play();
-#ifdef Q_WS_X11
-    seekSlider->setEnabled(false);
-#endif
-
-    // ensure we always have 10 videos ahead
-    listModel->searchNeeded();
-
-    // ensure active item is visible
-    int row = listModel->activeRow();
-    if (row != -1) {
-        QModelIndex index = listModel->index(row, 0, QModelIndex());
-        listView->scrollTo(index, QAbstractItemView::EnsureVisible);
-    }
-
-#ifdef APP_DEMO
-    demoTimer->start(60000);
-#endif
-
-}
-
-void MediaView::itemActivated(const QModelIndex &index) {
-    if (listModel->rowExists(index.row())) {
-
-        // if it's the current video, just rewind and play
-        Video *activeVideo = listModel->activeVideo();
-        Video *video = listModel->videoAt(index.row());
-        if (activeVideo && video && activeVideo == video) {
-            mediaObject->seek(0);
-            mediaObject->play();
-        } else listModel->setActiveRow(index.row());
-
-    // the user doubleclicked on the "Search More" item
-    } else {
-        listModel->searchMore();
-        listView->selectionModel()->clearSelection();
-    }
-}
-
-void MediaView::currentSourceChanged(const Phonon::MediaSource /* source */ ) {
-
-}
-
-void MediaView::skipVideo() {
-    // skippedVideo is useful for DELAYED skip operations
-    // in order to be sure that we're skipping the video we wanted
-    // and not another one
-    if (skippedVideo) {
-        if (listModel->activeVideo() != skippedVideo) {
-            qDebug() << "Skip of video canceled";
-            return;
-        }
-        int nextRow = listModel->rowForVideo(skippedVideo);
-        nextRow++;
-        if (nextRow == -1) return;
-        listModel->setActiveRow(nextRow);
-    }
-}
-
-void MediaView::skip() {
-    int nextRow = listModel->nextRow();
-    if (nextRow == -1) return;
-    listModel->setActiveRow(nextRow);
-}
-
-void MediaView::skipBackward() {
-    int prevRow = listModel->previousRow();
-    if (prevRow == -1) return;
-    listModel->setActiveRow(prevRow);
-}
-
-void MediaView::aboutToFinish() {
-    qint64 currentTime = mediaObject->currentTime();
-    qDebug() << __PRETTY_FUNCTION__ << currentTime;
-    if (currentTime + 10000 < mediaObject->totalTime()) {
-        // mediaObject->seek(mediaObject->currentTime());
-        // QTimer::singleShot(500, this, SLOT(playbackResume()));
-        mediaObject->seek(currentTime);
-        mediaObject->play();
-    }
-}
-
-void MediaView::playbackFinished() {
-    qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
-    // qDebug() << "finished" << mediaObject->currentTime() << mediaObject->totalTime();
-    // add 10 secs for imprecise Phonon backends (VLC, Xine)
-    if (mediaObject->currentTime() + 10000 < mediaObject->totalTime()) {
-        // mediaObject->seek(mediaObject->currentTime());
-        QTimer::singleShot(500, this, SLOT(playbackResume()));
-    } else {
-        QAction* stopAfterThisAction = The::globalActions()->value("stopafterthis");
-        if (stopAfterThisAction->isChecked()) {
-            stopAfterThisAction->setChecked(false);
-        } else skip();
-    }
-}
-
-void MediaView::playbackResume() {
-    qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
-    mediaObject->seek(mediaObject->currentTime());
-    mediaObject->play();
-}
-
-void MediaView::openWebPage() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    mediaObject->pause();
-    QDesktopServices::openUrl(video->webpage());
-}
-
-void MediaView::copyWebPage() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    QString address = video->webpage().toString();
-    QApplication::clipboard()->setText(address);
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-    QString message = tr("You can now paste the YouTube link into another application");
-    if (mainWindow) mainWindow->statusBar()->showMessage(message);
-}
-
-void MediaView::copyVideoLink() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    QApplication::clipboard()->setText(video->getStreamUrl().toEncoded());
-    QString message = tr("You can now paste the video stream URL into another application")
-            + ". " + tr("The link will be valid only for a limited time.");
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-    if (mainWindow) mainWindow->statusBar()->showMessage(message);
-}
-
-void MediaView::removeSelected() {
-    if (!listView->selectionModel()->hasSelection()) return;
-    QModelIndexList indexes = listView->selectionModel()->selectedIndexes();
-    listModel->removeIndexes(indexes);
-}
-
-void MediaView::selectVideos(QList<Video*> videos) {
-    foreach (Video *video, videos) {
-        QModelIndex index = listModel->indexForVideo(video);
-        listView->selectionModel()->select(index, QItemSelectionModel::Select);
-        listView->scrollTo(index, QAbstractItemView::EnsureVisible);
-    }
-}
-
-void MediaView::selectionChanged(const QItemSelection & /*selected*/, const QItemSelection & /*deselected*/) {
-    const bool gotSelection = listView->selectionModel()->hasSelection();
-    The::globalActions()->value("remove")->setEnabled(gotSelection);
-    The::globalActions()->value("moveUp")->setEnabled(gotSelection);
-    The::globalActions()->value("moveDown")->setEnabled(gotSelection);
-}
-
-void MediaView::moveUpSelected() {
-    if (!listView->selectionModel()->hasSelection()) return;
-
-    QModelIndexList indexes = listView->selectionModel()->selectedIndexes();
-    qStableSort(indexes.begin(), indexes.end());
-    listModel->move(indexes, true);
-
-    // set current index after row moves to something more intuitive
-    int row = indexes.first().row();
-    listView->selectionModel()->setCurrentIndex(listModel->index(row>1?row:1), QItemSelectionModel::NoUpdate);
-}
-
-void MediaView::moveDownSelected() {
-    if (!listView->selectionModel()->hasSelection()) return;
-
-    QModelIndexList indexes = listView->selectionModel()->selectedIndexes();
-    qStableSort(indexes.begin(), indexes.end(), qGreater<QModelIndex>());
-    listModel->move(indexes, false);
-
-    // set current index after row moves to something more intuitive (respect 1 static item on bottom)
-    int row = indexes.first().row()+1, max = listModel->rowCount() - 2;
-    listView->selectionModel()->setCurrentIndex(listModel->index(row>max?max:row), QItemSelectionModel::NoUpdate);
-}
-
-void MediaView::showVideoContextMenu(QPoint point) {
-    The::globalMenus()->value("video")->popup(videoWidget->mapToGlobal(point));
-}
-
-void MediaView::searchMostRelevant() {
-    searchParams->setSortBy(SearchParams::SortByRelevance);
-    search(searchParams);
-}
-
-void MediaView::searchMostRecent() {
-    searchParams->setSortBy(SearchParams::SortByNewest);
-    search(searchParams);
-}
-
-void MediaView::searchMostViewed() {
-    searchParams->setSortBy(SearchParams::SortByViewCount);
-    search(searchParams);
-}
-
-void MediaView::setPlaylistVisible(bool visible) {
-    if (splitter->widget(0)->isVisible() == visible) return;
-    splitter->widget(0)->setVisible(visible);
-    listView->setFocus();
-}
-
-bool MediaView::isPlaylistVisible() {
-    return splitter->widget(0)->isVisible();
-}
-
-void MediaView::timerPlay() {
-    // Workaround Phonon bug on Mac OSX
-    // qDebug() << mediaObject->currentTime();
-    if (mediaObject->currentTime() <= 0 && mediaObject->state() == Phonon::PlayingState) {
-        // qDebug() << "Mac playback workaround";
-        mediaObject->pause();
-        // QTimer::singleShot(1000, mediaObject, SLOT(play()));
-        mediaObject->play();
-    }
-}
-
-void MediaView::saveSplitterState() {
-    QSettings settings;
-    settings.setValue("splitter", splitter->saveState());
-}
-
-#ifdef APP_DEMO
-
-static QPushButton *continueButton;
-
-void MediaView::demoMessage() {
-    if (mediaObject->state() != Phonon::PlayingState) return;
-    mediaObject->pause();
-
-    QMessageBox msgBox(this);
-    msgBox.setIconPixmap(QPixmap(":/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);
-    // make it a "sheet" on the Mac
-    msgBox.setWindowModality(Qt::WindowModal);
-
-    continueButton = msgBox.addButton("5", QMessageBox::RejectRole);
-    continueButton->setEnabled(false);
-    QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
-
-    QTimeLine *timeLine = new QTimeLine(6000, this);
-    timeLine->setCurveShape(QTimeLine::LinearCurve);
-    timeLine->setFrameRange(5, 0);
-    connect(timeLine, SIGNAL(frameChanged(int)), SLOT(updateContinueButton(int)));
-    timeLine->start();
-
-    msgBox.exec();
-
-    if (msgBox.clickedButton() == buyButton) {
-        QDesktopServices::openUrl(QUrl(QString(Constants::WEBSITE) + "#download"));
-    } else {
-        mediaObject->play();
-        demoTimer->start(600000);
-    }
-
-    delete timeLine;
-
-}
-
-void MediaView::updateContinueButton(int value) {
-    if (value == 0) {
-        continueButton->setText(tr("Continue"));
-        continueButton->setEnabled(true);
-    } else {
-        continueButton->setText(QString::number(value));
-    }
-}
-
-#endif
-
-void MediaView::downloadVideo() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-
-    DownloadManager::instance()->addItem(video);
-
-    // TODO animate
-
-    The::globalActions()->value("downloads")->setVisible(true);
-
-    // The::globalActions()->value("download")->setEnabled(DownloadManager::instance()->itemForVideo(video) == 0);
-
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-    QString message = tr("Downloading %1").arg(video->title());
-    if (mainWindow) mainWindow->statusBar()->showMessage(message);
-}
-
-void MediaView::snapshot() {
-    QImage image = videoWidget->snapshot();
-    qDebug() << image.size();
-
-    const QPixmap& pixmap = QPixmap::grabWindow(videoWidget->winId());
-    // qDebug() << pixmap.size();
-    videoAreaWidget->showSnapshotPreview(pixmap);
-}
-
-void MediaView::fullscreen() {
-    videoAreaWidget->setParent(0);
-    videoAreaWidget->showFullScreen();
-}
-
-/*
-void MediaView::setSlider(QSlider *slider) {
-    this->slider = slider;
-    // slider->setEnabled(false);
-    slider->setTracking(false);
-    // connect(slider, SIGNAL(valueChanged(int)), SLOT(sliderMoved(int)));
-}
-
-void MediaView::sliderMoved(int value) {
-    qDebug() << __func__;
-    int sliderPercent = (value * 100) / (slider->maximum() - slider->minimum());
-    qDebug() << slider->minimum() << value << slider->maximum();
-    if (sliderPercent <= downloadItem->currentPercent()) {
-        qDebug() << sliderPercent << downloadItem->currentPercent();
-        mediaObject->seek(value);
-    } else {
-        seekTo(value);
-    }
-}
-
-void MediaView::seekTo(int value) {
-    qDebug() << __func__;
-    mediaObject->pause();
-    workaroundTimer->stop();
-    errorTimer->stop();
-    // mediaObject->clear();
-
-    QString tempDir = QDesktopServices::storageLocation(QDesktopServices::TempLocation);
-    QString tempFile = tempDir + "/minitube" + QString::number(value) + ".mp4";
-    if (!QFile::remove(tempFile)) {
-        qDebug() << "Cannot remove temp file";
-    }
-    Video *videoCopy = downloadItem->getVideo()->clone();
-    QUrl streamUrl = videoCopy->getStreamUrl();
-    streamUrl.addQueryItem("begin", QString::number(value));
-    if (downloadItem) delete downloadItem;
-    downloadItem = new DownloadItem(videoCopy, streamUrl, tempFile, this);
-    connect(downloadItem, SIGNAL(statusChanged()), SLOT(downloadStatusChanged()));
-    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
-    downloadItem->start();
-
-    // slider->setMinimum(value);
-
-}
-
-*/
-
-void MediaView::findVideoParts() {
-
-    // parts
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-
-    QString query = video->title();
-
-    static QString optionalSpace = "\\s*";
-    static QString staticCounterSeparators = "[\\/\\-]";
-    QString counterSeparators = "( of | " +
-            tr("of", "Used in video parts, as in '2 of 3'") +
-            " |" + staticCounterSeparators + ")";
-
-    // numbers from 1 to 15
-    static QString counterNumber = "([1-9]|1[0-5])";
-
-    // query.remove(QRegExp(counterSeparators + optionalSpace + counterNumber));
-    query.remove(QRegExp(counterNumber + optionalSpace + counterSeparators + optionalSpace + counterNumber));
-    query.remove(wordRE("pr?t\\.?" + optionalSpace + counterNumber));
-    query.remove(wordRE("ep\\.?" + optionalSpace + counterNumber));
-    query.remove(wordRE("part" + optionalSpace + counterNumber));
-    query.remove(wordRE("episode" + optionalSpace + counterNumber));
-    query.remove(wordRE(tr("part", "This is for video parts, as in 'Cool video - part 1'") +
-                        optionalSpace + counterNumber));
-    query.remove(wordRE(tr("episode", "This is for video parts, as in 'Cool series - episode 1'") +
-                        optionalSpace + counterNumber));
-    query.remove(QRegExp("[\\(\\)\\[\\]]"));
-
-#define NUMBERS "one|two|three|four|five|six|seven|eight|nine|ten"
-
-    QRegExp englishNumberRE = QRegExp(QLatin1String(".*(") + NUMBERS + ").*", Qt::CaseInsensitive);
-    // bool numberAsWords = englishNumberRE.exactMatch(query);
-    query.remove(englishNumberRE);
-
-    QRegExp localizedNumberRE = QRegExp(QLatin1String(".*(") + tr(NUMBERS) + ").*", Qt::CaseInsensitive);
-    // if (!numberAsWords) numberAsWords = localizedNumberRE.exactMatch(query);
-    query.remove(localizedNumberRE);
-
-    SearchParams *searchParams = new SearchParams();
-    searchParams->setTransient(true);
-    searchParams->setKeywords(query);
-    searchParams->setAuthor(video->author());
-
-    /*
-    if (!numberAsWords) {
-        qDebug() << "We don't have number as words";
-        // searchParams->setSortBy(SearchParams::SortByNewest);
-        // TODO searchParams->setReverseOrder(true);
-        // TODO searchParams->setMax(50);
-    }
-    */
-
-    search(searchParams);
-
-}
-
-void MediaView::shareViaTwitter() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    QUrl url("https://twitter.com/intent/tweet");
-    url.addQueryItem("via", "minitubeapp");
-    url.addQueryItem("text", video->title());
-    url.addQueryItem("url", video->webpage().toString());
-    QDesktopServices::openUrl(url);
-}
-
-void MediaView::shareViaFacebook() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    QUrl url("https://www.facebook.com/sharer.php");
-    url.addQueryItem("t", video->title());
-    url.addQueryItem("u", video->webpage().toString());
-    QDesktopServices::openUrl(url);
-}
-
-void MediaView::shareViaBuffer() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    QUrl url("http://bufferapp.com/add");
-    url.addQueryItem("via", "minitubeapp");
-    url.addQueryItem("text", video->title());
-    url.addQueryItem("url", video->webpage().toString());
-    if (!video->thumbnailUrls().isEmpty())
-        url.addQueryItem("picture", video->thumbnailUrls().first().toString());
-    QDesktopServices::openUrl(url);
-}
-
-void MediaView::shareViaEmail() {
-    Video* video = listModel->activeVideo();
-    if (!video) return;
-    QUrl url("mailto:");
-    url.addQueryItem("subject", video->title());
-    QString body = video->title() + "\n" +
-            video->webpage().toString() + "\n\n" +
-            tr("Sent from %1").arg(Constants::NAME) + "\n" +
-            Constants::WEBSITE;
-    url.addQueryItem("body", body);
-    QDesktopServices::openUrl(url);
-}
-
-void MediaView::authorPushed(QModelIndex index) {
-    Video* video = listModel->videoAt(index.row());
-    if (!video) return;
-
-    QString channel = video->author();
-    if (channel.isEmpty()) return;
-
-    SearchParams *searchParams = new SearchParams();
-    searchParams->setAuthor(channel);
-    searchParams->setSortBy(SearchParams::SortByNewest);
-
-    // go!
-    search(searchParams);
-}
diff --git a/src/MediaView.h b/src/MediaView.h
deleted file mode 100644 (file)
index 9d30c50..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef __MEDIAVIEW_H__
-#define __MEDIAVIEW_H__
-
-#include <QtGui>
-#include <QtNetwork>
-#include <phonon/mediaobject.h>
-#include <phonon/videowidget.h>
-#include <phonon/seekslider.h>
-#include "View.h"
-#include "ListModel.h"
-#include "segmentedcontrol.h"
-#include "searchparams.h"
-#include "loadingwidget.h"
-#include "videoareawidget.h"
-
-class DownloadItem;
-class PlaylistView;
-class SidebarWidget;
-
-namespace The {
-    QMap<QString, QAction*>* globalActions();
-}
-
-class MediaView : public QWidget, public View {
-    Q_OBJECT
-
-public:
-    MediaView(QWidget *parent);
-    void initialize();
-
-    // View
-    void appear();
-    void disappear();
-    QMap<QString, QVariant> metadata() {
-        QMap<QString, QVariant> metadata;
-        if (searchParams) {
-            metadata.insert("title", "");
-            metadata.insert("description", "");
-        }
-        return metadata;
-    }
-
-    void setMediaObject(Phonon::MediaObject *mediaObject);
-    void setSlider(Phonon::SeekSlider *slider) { this->seekSlider = slider; }
-
-public slots:
-    void search(SearchParams *searchParams);
-    void pause();
-    void stop();
-    void skip();
-    void skipBackward();
-    void skipVideo();
-    void openWebPage();
-    void copyWebPage();
-    void copyVideoLink();
-    void shareViaTwitter();
-    void shareViaFacebook();
-    void shareViaBuffer();
-    void shareViaEmail();
-    void removeSelected();
-    void moveUpSelected();
-    void moveDownSelected();
-    bool isPlaylistVisible();
-    void setPlaylistVisible(bool visible=true);
-    void saveSplitterState();
-    void downloadVideo();
-    void snapshot();
-    void fullscreen();
-    void findVideoParts();
-
-private slots:
-    // list/model
-    void itemActivated(const QModelIndex &index);
-    void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
-    void activeRowChanged(int);
-    void selectVideos(QList<Video*> videos);
-    void gotStreamUrl(QUrl streamUrl);
-    void handleError(QString message);
-    // phonon
-    void stateChanged(Phonon::State newState, Phonon::State oldState);
-    void currentSourceChanged(const Phonon::MediaSource source);
-    void showVideoContextMenu(QPoint point);
-    void aboutToFinish();
-    // bar
-    void searchMostRelevant();
-    void searchMostRecent();
-    void searchMostViewed();
-    // timer
-    void timerPlay();
-#ifdef APP_DEMO
-    void demoMessage();
-    void updateContinueButton(int);
-#endif
-    void startPlaying();
-    void downloadStatusChanged();
-    void playbackFinished();
-    void playbackResume();
-    void authorPushed(QModelIndex);
-    void searchAgain();
-
-    /*
-    void downloadProgress(int percent);
-    void sliderMoved(int value);
-    void seekTo(int value);
-    */
-
-private:
-    static QRegExp wordRE(QString s);
-
-    SearchParams *searchParams;
-
-    QSplitter *splitter;
-
-    SidebarWidget *sidebar;
-    PlaylistView *listView;
-    ListModel *listModel;
-
-    // sortBar
-    SegmentedControl *sortBar;
-    QAction *mostRelevantAction;
-    QAction *mostRecentAction;
-    QAction *mostViewedAction;
-
-    // phonon
-    Phonon::MediaObject *mediaObject;
-    Phonon::VideoWidget *videoWidget;
-    Phonon::SeekSlider *seekSlider;
-
-    // loadingWidget
-    VideoAreaWidget *videoAreaWidget;
-    LoadingWidget *loadingWidget;
-
-    bool timerPlayFlag;
-    bool reallyStopped;
-
-    QTimer *errorTimer;
-    QTimer *workaroundTimer;
-    Video *skippedVideo;
-
-#ifdef APP_DEMO
-    QTimer *demoTimer;
-#endif
-
-    DownloadItem *downloadItem;
-
-};
-
-#endif // __MEDIAVIEW_H__
diff --git a/src/SearchView.cpp b/src/SearchView.cpp
deleted file mode 100644 (file)
index 723ad72..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-#include "SearchView.h"
-#include "constants.h"
-#include "fontutils.h"
-#include "searchparams.h"
-#include "youtubesuggest.h"
-#include "channelsuggest.h"
-#ifdef APP_MAC
-#include "searchlineedit_mac.h"
-#else
-#include "searchlineedit.h"
-#endif
-#ifndef Q_WS_X11
-#include "extra.h"
-#endif
-
-namespace The {
-    QMap<QString, QAction*>* globalActions();
-}
-
-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();
-
-#if defined(APP_MAC) | defined(APP_WIN)
-    // speedup painting since we'll paint the whole background
-    // by ourselves anyway in paintEvent()
-    setAttribute(Qt::WA_OpaquePaintEvent);
-#endif
-
-    QBoxLayout *mainLayout = new QVBoxLayout();
-    mainLayout->setMargin(0);
-    mainLayout->setSpacing(0);
-
-    // hidden message widget
-    message = new QLabel(this);
-    message->hide();
-    mainLayout->addWidget(message);
-
-#ifdef APP_DEMO
-    QLabel *buy = new QLabel(this);
-    buy->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
-    buy->setText(QString("<a style='color:palette(text);text-decoration:none' href='%1'>%2</a>").arg(
-            QString(Constants::WEBSITE) + "#download",
-            tr("Get the full version").toUpper()
-            ));
-    buy->setOpenExternalLinks(true);
-    buy->setMargin(7);
-    buy->setAlignment(Qt::AlignRight);
-    buy->setStyleSheet("QLabel {"
-                       "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #CCD6E0, stop: 1 #ADBCCC);"
-                       "border-bottom-left-radius: 8px;"
-                       "border-bottom-right-radius: 8px;"
-                       "font-size: 10px;"
-                       "margin-right: 50px;"
-                       "}");
-    mainLayout->addWidget(buy, 0, Qt::AlignRight);
-#endif
-
-    mainLayout->addStretch();
-    mainLayout->addSpacing(PADDING);
-
-    QBoxLayout *hLayout = new QHBoxLayout();
-    hLayout->setAlignment(Qt::AlignCenter);
-    mainLayout->addLayout(hLayout);
-
-    QLabel *logo = new QLabel(this);
-    QString resource = "app";
-#ifndef Q_WS_X11
-    resource = Extra::resourceName(resource);
-    logo->setMaximumSize(128, 128);
-    logo->setScaledContents(true);
-#endif
-    logo->setPixmap(QPixmap(":/images/" + resource + ".png"));
-    hLayout->addWidget(logo, 0, Qt::AlignTop);
-    hLayout->addSpacing(PADDING);
-
-    QVBoxLayout *layout = new QVBoxLayout();
-    layout->setAlignment(Qt::AlignCenter);
-    hLayout->addLayout(layout);
-
-    QLabel *welcomeLabel =
-            new QLabel("<h1 style='font-weight:normal'>" +
-                       tr("Welcome to <a href='%1'>%2</a>,")
-                       // .replace("<a ", "<a style='color:palette(text)'")
-                       .replace("<a href", "<a style='text-decoration:none; color:palette(text); font-weight:bold' href")
-                       .arg(Constants::WEBSITE, Constants::NAME)
-                       + "</h1>", this);
-    welcomeLabel->setOpenExternalLinks(true);
-    layout->addWidget(welcomeLabel);
-
-    layout->addSpacing(PADDING / 2);
-
-    QBoxLayout *tipLayout = new QHBoxLayout();
-    tipLayout->setSpacing(10);
-
-    //: "Enter", as in "type". The whole frase says: "Enter a keyword to start watching videos"
-    QLabel *tipLabel = new QLabel(tr("Enter"), this);
-    tipLabel->setFont(biggerFont);
-    tipLayout->addWidget(tipLabel);
-
-    typeCombo = new QComboBox(this);
-    typeCombo->addItem(tr("a keyword"));
-    typeCombo->addItem(tr("a channel"));
-    typeCombo->setFont(biggerFont);
-    connect(typeCombo, SIGNAL(currentIndexChanged(int)), SLOT(searchTypeChanged(int)));
-    tipLayout->addWidget(typeCombo);
-
-    tipLabel = new QLabel(tr("to start watching videos."), this);
-    tipLabel->setFont(biggerFont);
-    tipLayout->addWidget(tipLabel);
-    layout->addLayout(tipLayout);
-
-    layout->addSpacing(PADDING / 2);
-
-    QHBoxLayout *searchLayout = new QHBoxLayout();
-    searchLayout->setAlignment(Qt::AlignVCenter);
-
-    queryEdit = new SearchLineEdit(this);
-    queryEdit->setFont(biggerFont);
-    queryEdit->setMinimumWidth(queryEdit->fontInfo().pixelSize()*15);
-    connect(queryEdit, SIGNAL(search(const QString&)), SLOT(watch(const QString&)));
-    connect(queryEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
-    connect(queryEdit, SIGNAL(suggestionAccepted(const QString&)), SLOT(watch(const QString&)));
-
-    youtubeSuggest = new YouTubeSuggest(this);
-    channelSuggest = new ChannelSuggest(this);
-    searchTypeChanged(0);
-
-    searchLayout->addWidget(queryEdit);
-    searchLayout->addSpacing(10);
-
-    watchButton = new QPushButton(tr("Watch"), this);
-    watchButton->setDefault(true);
-    watchButton->setEnabled(false);
-    watchButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-    connect(watchButton, SIGNAL(clicked()), this, SLOT(watch()));
-    searchLayout->addWidget(watchButton);
-
-    layout->addItem(searchLayout);
-
-    layout->addSpacing(PADDING / 2);
-
-    QHBoxLayout *otherLayout = new QHBoxLayout();
-    otherLayout->setMargin(0);
-    otherLayout->setSpacing(10);
-
-    recentKeywordsLayout = new QVBoxLayout();
-    recentKeywordsLayout->setSpacing(5);
-    recentKeywordsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
-    recentKeywordsLabel = new QLabel(tr("Recent keywords").toUpper(), this);
-    recentKeywordsLabel->setProperty("recentHeader", true);
-    recentKeywordsLabel->setForegroundRole(QPalette::Dark);
-    recentKeywordsLabel->hide();
-    recentKeywordsLabel->setFont(smallerFont);
-    recentKeywordsLayout->addWidget(recentKeywordsLabel);
-
-    otherLayout->addLayout(recentKeywordsLayout);
-
-    // recent channels
-    recentChannelsLayout = new QVBoxLayout();
-    recentChannelsLayout->setSpacing(5);
-    recentChannelsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
-    recentChannelsLabel = new QLabel(tr("Recent channels").toUpper(), this);
-    recentChannelsLabel->setProperty("recentHeader", true);
-    recentChannelsLabel->setForegroundRole(QPalette::Dark);
-    recentChannelsLabel->hide();
-    recentChannelsLabel->setFont(smallerFont);
-    recentChannelsLayout->addWidget(recentChannelsLabel);
-
-    otherLayout->addLayout(recentChannelsLayout);
-
-    layout->addLayout(otherLayout);
-
-    mainLayout->addSpacing(PADDING);
-    mainLayout->addStretch();
-
-    setLayout(mainLayout);
-
-}
-
-void SearchView::appear() {
-    updateRecentKeywords();
-    updateRecentChannels();
-    queryEdit->selectAll();
-    queryEdit->enableSuggest();
-    QTimer::singleShot(0, queryEdit, SLOT(setFocus()));
-}
-
-void SearchView::updateRecentKeywords() {
-
-    // cleanup
-    QLayoutItem *item;
-    while ((item = recentKeywordsLayout->takeAt(1)) != 0) {
-        item->widget()->close();
-        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) {
-        QString link = keyword;
-        QString display = keyword;
-        if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
-            int separator = keyword.indexOf("|");
-            if (separator > 0 && separator + 1 < keyword.length()) {
-                link = keyword.left(separator);
-                display = keyword.mid(separator+1);
-            }
-        }
-        bool needStatusTip = false;
-        if (display.length() > 24) {
-            display.truncate(24);
-            display.append("...");
-            needStatusTip = true;
-        }
-        QLabel *itemLabel = new QLabel("<a href=\"" + link
-                                       + "\" style=\"color:palette(text); text-decoration:none\">"
-                                       + display + "</a>", this);
-        itemLabel->setAttribute(Qt::WA_DeleteOnClose);
-        itemLabel->setProperty("recentItem", true);
-        itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
-        // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-        // Make links navigable with the keyboard too
-        itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
-        if (needStatusTip)
-            itemLabel->setStatusTip(link);
-        connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchKeywords(QString)));
-        recentKeywordsLayout->addWidget(itemLabel);
-    }
-
-}
-
-void SearchView::updateRecentChannels() {
-
-    // cleanup
-    QLayoutItem *item;
-    while ((item = recentChannelsLayout->takeAt(1)) != 0) {
-        item->widget()->close();
-        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) {
-        QString link = keyword;
-        QString display = keyword;
-        if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
-            int separator = keyword.indexOf("|");
-            if (separator > 0 && separator + 1 < keyword.length()) {
-                link = keyword.left(separator);
-                display = keyword.mid(separator+1);
-            }
-        }
-        QLabel *itemLabel = new QLabel("<a href=\"" + link
-                                       + "\" style=\"color:palette(text); text-decoration:none\">"
-                                       + display + "</a>", this);
-        itemLabel->setAttribute(Qt::WA_DeleteOnClose);
-        itemLabel->setProperty("recentItem", true);
-        itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
-        // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
-        // Make links navigable with the keyboard too
-        itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
-
-        connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchChannel(QString)));
-        recentChannelsLayout->addWidget(itemLabel);
-    }
-
-}
-
-void SearchView::watch() {
-    QString query = queryEdit->text();
-    watch(query);
-}
-
-void SearchView::textChanged(const QString &text) {
-    watchButton->setEnabled(!text.simplified().isEmpty());
-}
-
-void SearchView::watch(QString query) {
-
-    query = query.simplified();
-
-    // check for empty query
-    if (query.length() == 0) {
-        queryEdit->setFocus(Qt::OtherFocusReason);
-        return;
-    }
-
-    SearchParams *searchParams = new SearchParams();
-    if (typeCombo->currentIndex() == 0)
-        searchParams->setKeywords(query);
-    else {
-        // remove spaces from channel name
-        query = query.replace(" ", "");
-        searchParams->setAuthor(query);
-        searchParams->setSortBy(SearchParams::SortByNewest);
-    }
-
-    // go!
-    emit search(searchParams);
-}
-
-void SearchView::watchChannel(QString channel) {
-
-    channel = channel.simplified();
-
-    // check for empty query
-    if (channel.length() == 0) {
-        queryEdit->setFocus(Qt::OtherFocusReason);
-        return;
-    }
-
-    // remove spaces from channel name
-    channel = channel.remove(" ");
-
-    SearchParams *searchParams = new SearchParams();
-    searchParams->setAuthor(channel);
-    searchParams->setSortBy(SearchParams::SortByNewest);
-
-    // go!
-    emit search(searchParams);
-}
-
-void SearchView::watchKeywords(QString query) {
-
-    query = query.simplified();
-
-    // check for empty query
-    if (query.length() == 0) {
-        queryEdit->setFocus(Qt::OtherFocusReason);
-        return;
-    }
-
-    if (typeCombo->currentIndex() == 0) {
-        queryEdit->setText(query);
-        watchButton->setEnabled(true);
-    }
-
-    SearchParams *searchParams = new SearchParams();
-    searchParams->setKeywords(query);
-
-    // go!
-    emit search(searchParams);
-}
-
-void SearchView::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 SearchView::searchTypeChanged(int index) {
-    if (index == 0) {
-        queryEdit->setSuggester(youtubeSuggest);
-    } else {
-        queryEdit->setSuggester(channelSuggest);
-    }
-    queryEdit->selectAll();
-    queryEdit->setFocus();
-}
diff --git a/src/SearchView.h b/src/SearchView.h
deleted file mode 100644 (file)
index b6be275..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef __SEARCHVIEW_H__
-#define __SEARCHVIEW_H__
-
-#include <QtGui>
-#include "View.h"
-
-class SearchLineEdit;
-class SearchParams;
-class YouTubeSuggest;
-class ChannelSuggest;
-
-class SearchView : public QWidget, public View {
-
-    Q_OBJECT
-
-public:
-    SearchView(QWidget *parent);
-    void updateRecentKeywords();
-    void updateRecentChannels();
-    void appear();
-    void disappear() {}
-
-    QMap<QString, QVariant> metadata() {
-        QMap<QString, QVariant> metadata;
-        metadata.insert("title", "");
-        metadata.insert("description", tr("Make yourself comfortable"));
-        return metadata;
-    }
-
-public slots:
-    void watch(QString query);
-    void watchChannel(QString channel);
-    void watchKeywords(QString query);
-
-signals:
-    void search(SearchParams*);
-
-protected:
-    void paintEvent(QPaintEvent *);
-
-private slots:
-    void watch();
-    void textChanged(const QString &text);
-    void searchTypeChanged(int index);
-
-private:
-    YouTubeSuggest *youtubeSuggest;
-    ChannelSuggest *channelSuggest;
-
-    QComboBox *typeCombo;
-    SearchLineEdit *queryEdit;
-    QLabel *recentKeywordsLabel;
-    QBoxLayout *recentKeywordsLayout;
-    QLabel *recentChannelsLabel;
-    QBoxLayout *recentChannelsLayout;
-    QLabel *message;
-    QPushButton *watchButton;
-
-};
-
-#endif // __SEARCHVIEW_H__
index d95d026ca4a30fa9df47a62bdfde73a4e7a9a5c9..ad39f92dba8814eb680972480281716534fc1937 100644 (file)
@@ -8,6 +8,7 @@ class Suggester : public QObject {
     Q_OBJECT
 
 public:
+    Suggester(QObject *parent = 0) : QObject(parent) { }
     virtual void suggest(QString query) = 0;
 
 signals:
diff --git a/src/View.h b/src/View.h
deleted file mode 100644 (file)
index ea701bd..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef VIEW_H
-#define VIEW_H
-
-class View {
-
-    public:
-        virtual QMap<QString, QVariant> metadata() = 0;
-        virtual void appear() = 0;
-        virtual void disappear() = 0;
-
-};
-
-#endif // VIEW_H
diff --git a/src/aboutview.cpp b/src/aboutview.cpp
new file mode 100644 (file)
index 0000000..4ab0fb9
--- /dev/null
@@ -0,0 +1,114 @@
+#include "aboutview.h"
+#include "constants.h"
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#ifdef APP_MAC
+#include "macutils.h"
+#include "mac_startup.h"
+#endif
+
+AboutView::AboutView(QWidget *parent) : QWidget(parent) {
+
+    QBoxLayout *hLayout = new QHBoxLayout(this);
+    hLayout->setAlignment(Qt::AlignCenter);
+    hLayout->setMargin(30);
+    hLayout->setSpacing(30);
+
+    QLabel *logo = new QLabel(this);
+    logo->setPixmap(QPixmap(":/images/app.png"));
+    hLayout->addWidget(logo, 0, Qt::AlignTop);
+
+    QBoxLayout *layout = new QVBoxLayout();
+    layout->setAlignment(Qt::AlignCenter);
+    layout->setSpacing(30);
+    hLayout->addLayout(layout);
+
+    QString info = "<html><style>a { color: palette(text); text-decoration: none; font-weight: bold }</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);
+
+#ifdef APP_ACTIVATION
+    if (Activation::instance().isActivated())
+        info += "<p>" + tr("Licensed to: %1").arg("<b>" + Activation::instance().getEmail() + "</b>");
+#endif
+
+#ifdef Q_WS_X11
+    info += "<p>" +  tr("%1 is Free Software but its development takes precious time.").arg(Constants::NAME) + "<br/>"
+            + tr("Please <a href='%1'>donate</a> to support the continued development of %2.")
+            .arg(QString(Constants::WEBSITE).append("#donate"), Constants::NAME) + "</p>";
+#endif
+
+    info += "<p>" + tr("You may want to try my other apps as well:") + "</p>"
+            "<ul>"
+
+            "<li>" + tr("%1, a YouTube music player")
+            .arg("<a href='http://flavio.tordini.org/musictube'>Musictube</a>")
+            + "</li>"
+
+            "<li>" + tr("%1, a music player")
+            .arg("<a href='http://flavio.tordini.org/musique'>Musique</a>")
+            + "</li>"
+
+            "</ul>"
+
+            "<p>" + tr("Translate %1 to your native language using %2").arg(Constants::NAME)
+            .arg("<a href='http://www.transifex.net/projects/p/" + QString(Constants::UNIX_NAME) + "/'>Transifex</a>")
+            + "</p>"
+
+            "<p>"
+            + tr("Icon designed by %1.").arg("<a href='http://www.kolorguild.com/'>David Nel</a>")
+            + "</p>"
+
+        #ifdef Q_WS_X11
+            "<p>" + tr("Released under the <a href='%1'>GNU General Public License</a>")
+            .arg("http://www.gnu.org/licenses/gpl.html") + "</p>"
+        #endif
+            "<p>&copy; 2009-2013 " + Constants::ORG_NAME + "</p>"
+            "</body></html>";
+    QLabel *infoLabel = new QLabel(info, this);
+    infoLabel->setOpenExternalLinks(true);
+    infoLabel->setWordWrap(true);
+    layout->addWidget(infoLabel);
+
+    QLayout *buttonLayout = new QHBoxLayout();
+    buttonLayout->setMargin(0);
+    buttonLayout->setSpacing(0);
+    buttonLayout->setAlignment(Qt::AlignLeft);
+
+    QPushButton *closeButton = new QPushButton(tr("&Close"), this);
+    closeButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
+    closeButton->setDefault(true);
+    closeButton->setFocus(Qt::OtherFocusReason);
+    connect(closeButton, SIGNAL(clicked()), parent, SLOT(goBack()));
+    buttonLayout->addWidget(closeButton);
+
+    layout->addLayout(buttonLayout);
+}
+
+void AboutView::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 AboutView::appear() {
+#ifdef APP_MAC
+    mac::uncloseWindow(window()->winId());
+#ifdef APP_ACTIVATION
+    mac::CheckForUpdates();
+#endif
+#endif
+}
diff --git a/src/aboutview.h b/src/aboutview.h
new file mode 100644 (file)
index 0000000..912c63c
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef ABOUTVIEW_H
+#define ABOUTVIEW_H
+
+#include <QtGui>
+#include "view.h"
+#include "constants.h"
+
+class AboutView : public QWidget, public View {
+
+    Q_OBJECT
+
+public:
+    AboutView(QWidget *parent);
+    void appear();
+    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 *);
+
+};
+#endif
index ccec4a0eb6cba73455aac9fc15ae1eef8ccf9170..757c5348e5ddc23f4589f589a2e737c9340a5140 100644 (file)
@@ -5,23 +5,14 @@ namespace The {
     NetworkAccess* http();
 }
 
-ChannelSuggest::ChannelSuggest(QObject *parent) : Suggester() {
+ChannelSuggest::ChannelSuggest(QObject *parent) : Suggester(parent) {
 
 }
 
 void ChannelSuggest::suggest(QString query) {
-
-    /* // TODO how to localize results?
-    QString locale = QLocale::system().name().replace("_", "-");
-    // case for system locales such as "C"
-    if (locale.length() < 2) {
-        locale = "en-US";
-    }*/
-
-    QUrl url("http://www.youtube.com/results?search_type=search_users");
+    QUrl url("http://www.youtube.com/results");
+    url.addQueryItem("search_type", "search_users");
     url.addQueryItem("search_query", query);
-    // url.addQueryItem("hl", "it-IT");
-
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
 }
diff --git a/src/diskcache.cpp b/src/diskcache.cpp
new file mode 100644 (file)
index 0000000..f6a45f6
--- /dev/null
@@ -0,0 +1,20 @@
+#include "diskcache.h"
+#include <QtNetwork>
+
+DiskCache::DiskCache(QObject *parent) : QNetworkDiskCache(parent) { }
+
+QIODevice* DiskCache::prepare(const QNetworkCacheMetaData &metaData) {
+    QString mime;
+    foreach (QNetworkCacheMetaData::RawHeader header, metaData.rawHeaders()) {
+        // qDebug() << header.first << header.second;
+        if (header.first.constData() == QLatin1String("Content-Type")) {
+            mime = header.second;
+            break;
+        }
+    }
+
+    if (mime.startsWith(QLatin1String("image/")))
+        return QNetworkDiskCache::prepare(metaData);
+
+    return 0;
+}
diff --git a/src/diskcache.h b/src/diskcache.h
new file mode 100644 (file)
index 0000000..80791a6
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef DISKCACHE_H
+#define DISKCACHE_H
+
+#include <QNetworkDiskCache>
+
+class DiskCache : public QNetworkDiskCache
+{
+    Q_OBJECT
+public:
+    explicit DiskCache(QObject *parent = 0);
+    QIODevice* prepare(const QNetworkCacheMetaData &metaData);
+
+signals:
+
+public slots:
+
+};
+
+#endif // DISKCACHE_H
index 39132eb0eeaaaad4b73b830e4bd212270b965291..0ff2396bd90f1583264c33771009a363d6ff613f 100644 (file)
@@ -42,7 +42,7 @@ DownloadItem::~DownloadItem() {
 }
 
 void DownloadItem::start() {
-    m_reply = The::http()->simpleGet(m_url);
+    m_reply = The::http()->request(m_url);
     init();
 }
 
@@ -159,7 +159,7 @@ void DownloadItem::metaDataChanged() {
     QVariant locationHeader = m_reply->header(QNetworkRequest::LocationHeader);
     if (locationHeader.isValid()) {
         m_url = locationHeader.toUrl();
-        qDebug() << "Redirecting to" << m_url;
+        // qDebug() << "Redirecting to" << m_url;
         tryAgain();
         return;
     }
index 25ddf2feb56ad3e6668c90dc259a7b70b412b6bc..4ebb34ccb049ba5e51b683c2782fa9652dccd9b9 100644 (file)
@@ -1,6 +1,6 @@
 #include "downloadlistview.h"
 #include "downloadmodel.h"
-#include "playlist/PrettyItemDelegate.h"
+#include "playlistitemdelegate.h"
 
 DownloadListView::DownloadListView(QWidget *parent) : QListView(parent) {
 
@@ -48,7 +48,7 @@ bool DownloadListView::isHoveringPlayIcon(QMouseEvent *event) {
     const QRect itemRect = visualRect(itemIndex);
     // qDebug() << " itemRect.x()" <<  itemRect.x();
 
-    PrettyItemDelegate *delegate = dynamic_cast<PrettyItemDelegate *>(itemDelegate());
+    PlaylistItemDelegate *delegate = dynamic_cast<PlaylistItemDelegate *>(itemDelegate());
     if (!delegate) return false;
 
     QRect buttonRect = delegate->downloadButtonRect(itemRect);
index ee597d899f3ba46ed44f510d17081edaf6a0590e..21115d3ceab2fd759b344e10080ad7366a67696d 100644 (file)
@@ -3,7 +3,13 @@
 #include "downloadmodel.h"
 #include "video.h"
 #include "constants.h"
-#include "MainWindow.h"
+#include "mainwindow.h"
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#ifdef Q_WS_MAC
+#include "macutils.h"
+#endif
 
 static DownloadManager *downloadManagerInstance = 0;
 
@@ -41,28 +47,30 @@ DownloadItem* DownloadManager::itemForVideo(Video* video) {
 void DownloadManager::addItem(Video *video) {
     // qDebug() << __FUNCTION__ << video->title();
 
-#ifdef APP_DEMO
-    if (video->duration() >= 60*4) {
-        QMessageBox msgBox(MainWindow::instance());
-        msgBox.setIconPixmap(QPixmap(":/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.")
-                    .arg(4));
-        msgBox.setModal(true);
-        // make it a "sheet" on the Mac
-        msgBox.setWindowModality(Qt::WindowModal);
-
-        msgBox.addButton(tr("Continue"), QMessageBox::RejectRole);
-        QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
-
-        msgBox.exec();
-
-        if (msgBox.clickedButton() == buyButton) {
-            QDesktopServices::openUrl(QUrl(QString(Constants::WEBSITE) + "#download"));
-        }
+#ifdef APP_ACTIVATION
+    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.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.")
+                        .arg(4));
+            msgBox.setModal(true);
+            // make it a "sheet" on the Mac
+            msgBox.setWindowModality(Qt::WindowModal);
 
-        return;
+            msgBox.addButton(tr("Continue"), QMessageBox::RejectRole);
+            QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
+
+            msgBox.exec();
+
+            if (msgBox.clickedButton() == buyButton) {
+                MainWindow::instance()->showActivationView();
+            }
+
+            return;
+        }
     }
 #endif
 
@@ -148,7 +156,7 @@ void DownloadManager::itemFinished() {
 }
 
 void DownloadManager::updateStatusMessage() {
-    QString message = tr("%n Download(s)", "", items.size());
+    QString message = tr("%n Download(s)", "", activeItems());
     emit statusMessageChanged(message);
 }
 
index d68db0e3429985d410f726e4b3c6b3a8e784efef..2031d3f66288413fc0551741d78d5bc4790ce949 100644 (file)
@@ -2,7 +2,7 @@
 #include "downloadmanager.h"
 #include "downloaditem.h"
 #include "video.h"
-#include "ListModel.h"
+#include "playlistmodel.h"
 
 DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent) :
         QAbstractListModel(parent),
index 80b276313b7a390286dc9f4c32c4a4e7f17811a1..d73182e73e543088087a30f898b6267699bb9883 100644 (file)
@@ -1,5 +1,6 @@
 #include "downloadsettings.h"
 #include "downloadmanager.h"
+#include "mainwindow.h"
 
 DownloadSettings::DownloadSettings(QWidget *parent) : QWidget(parent) {
 
@@ -55,14 +56,10 @@ void DownloadSettings::folderChosen(const QString &dir) {
         QSettings settings;
         settings.setValue("downloadFolder", dir);
         updateMessage();
-        QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-        if (mainWindow) {
-            QString status;
-            status = tr("Download location changed.");
-            if (DownloadManager::instance()->activeItems() > 0)
-                status += " " + tr("Current downloads will still go in the previous location.");
-            mainWindow->statusBar()->showMessage(status);
-        }
+        QString status = tr("Download location changed.");
+        if (DownloadManager::instance()->activeItems() > 0)
+            status += " " + tr("Current downloads will still go in the previous location.");
+        MainWindow::instance()->showMessage(status);
     }
 }
 
index 3ed343b7e30f32d3a25519d44b904a912346de0b..42db96b8ec094f5bdca5334d3b0b1f7f8e42cb43 100644 (file)
@@ -4,8 +4,8 @@
 #include "downloadlistview.h"
 #include "downloaditem.h"
 #include "downloadsettings.h"
-#include "ListModel.h"
-#include "playlist/PrettyItemDelegate.h"
+#include "playlistmodel.h"
+#include "playlistitemdelegate.h"
 #include "segmentedcontrol.h"
 
 DownloadView::DownloadView(QWidget *parent) : QWidget(parent) {
@@ -28,7 +28,7 @@ DownloadView::DownloadView(QWidget *parent) : QWidget(parent) {
     p.setColor(QPalette::Base, palette().color(QPalette::Window));
     listView->setPalette(p);
     */
-    PrettyItemDelegate *delegate = new PrettyItemDelegate(this, true);
+    PlaylistItemDelegate *delegate = new PlaylistItemDelegate(this, true);
     listView->setItemDelegate(delegate);
     listView->setSelectionMode(QAbstractItemView::NoSelection);
 
index fdbbb54ba841b689e32ebcb600e19535b31af10e..2ac7b3d742e880b8e71f5569e73565af3f63b0e5 100644 (file)
@@ -2,7 +2,7 @@
 #define DOWNLOADVIEW_H
 
 #include <QtGui>
-#include "View.h"
+#include "view.h"
 
 class SegmentedControl;
 class DownloadModel;
@@ -17,10 +17,9 @@ public:
     DownloadView(QWidget *parent);
     void appear();
     void disappear();
-    QMap<QString, QVariant> metadata() {
-        QMap<QString, QVariant> metadata;
+    QHash<QString, QVariant> metadata() {
+        QHash<QString, QVariant> metadata;
         metadata.insert("title", tr("Downloads"));
-        metadata.insert("description", "");
         return metadata;
     }
 
index 2285b17351f491ecca9bad2d3850445ce34df5b3..d2aad7a0c6571103cb1791934e7d3f5c2b0c3dd6 100644 (file)
@@ -8,23 +8,18 @@
 #include <QNetworkProxyFactory>
 #include <cstdlib>
 #include "networkaccess.h"
+#include "diskcache.h"
 
 namespace The {
 
-    static QMap<QString, QAction*> *g_actions = 0;
-
-    QMap<QString, QAction*>* globalActions() {
-        if (!g_actions)
-            g_actions = new QMap<QString, QAction*>;
-        return g_actions;
+    QHash<QString, QAction*>* globalActions() {
+        static QHash<QString, QAction*> *actions = new QHash<QString, QAction*>;
+        return actions;
     }
 
-    static QMap<QString, QMenu*> *g_menus = 0;
-
-    QMap<QString, QMenu*>* globalMenus() {
-        if (!g_menus)
-            g_menus = new QMap<QString, QMenu*>;
-        return g_menus;
+    QHash<QString, QMenu*>* globalMenus() {
+        static QHash<QString, QMenu*> *menus = new QHash<QString, QMenu*>;
+        return menus;
     }
 
     void maybeSetSystemProxy() {
@@ -123,24 +118,24 @@ namespace The {
         }
     }
 
-    static QNetworkAccessManager *nam = 0;
-
     QNetworkAccessManager* networkAccessManager() {
+        static QNetworkAccessManager *nam = 0;
         if (!nam) {
             networkHttpProxySetting();
             maybeSetSystemProxy();
             nam = new QNetworkAccessManager();
+            QNetworkDiskCache *cache = new DiskCache();
+            QString cacheLocation = QDesktopServices::storageLocation(
+                        QDesktopServices::DataLocation);
+            cache->setCacheDirectory(cacheLocation);
+            nam->setCache(cache);
         }
         return nam;
     }
 
-    static NetworkAccess *g_http = 0;
     NetworkAccess* http() {
-        if (!g_http) {
-            // qDebug() << "Creating NetworkAccess";
-            g_http = new NetworkAccess();
-        }
-        return g_http;
+        static NetworkAccess *na = new NetworkAccess();
+        return na;
     }
 
 }
diff --git a/src/homeview.cpp b/src/homeview.cpp
new file mode 100644 (file)
index 0000000..4ac091d
--- /dev/null
@@ -0,0 +1,107 @@
+#include "homeview.h"
+#include "segmentedcontrol.h"
+#include "searchview.h"
+#include "standardfeedsview.h"
+#include "userview.h"
+#include "mainwindow.h"
+#include "mediaview.h"
+#include "ytstandardfeed.h"
+
+HomeView::HomeView(QWidget *parent) : QWidget(parent) {
+    standardFeedsView = 0;
+    userView = 0;
+
+    QBoxLayout *layout = new QVBoxLayout(this);
+    layout->setMargin(0);
+    layout->setSpacing(0);
+
+    setupBar();
+    layout->addWidget(bar);
+
+    stackedWidget = new QStackedWidget();
+    layout->addWidget(stackedWidget);
+
+    searchView = new SearchView();
+    connect(searchView, SIGNAL(search(SearchParams*)),
+            MainWindow::instance(), SLOT(showMedia(SearchParams*)));
+    stackedWidget->addWidget(searchView);
+}
+
+void HomeView::setupBar() {
+    bar = new SegmentedControl(this);
+
+    QAction *action = new QAction(tr("Search"), this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_1));
+    action->setStatusTip(tr("Find videos and channels by keyword"));
+    connect(action, SIGNAL(triggered()), SLOT(showSearch()));
+    bar->addAction(action);
+    bar->setCheckedAction(action);
+
+    action = new QAction(tr("Browse"), this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_2));
+    action->setStatusTip(tr("Browse videos by category"));
+    connect(action, SIGNAL(triggered()), SLOT(showStandardFeeds()));
+    bar->addAction(action);
+
+    /*
+    action = new QAction(tr("User"), this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_3));
+    action->setStatusTip(tr("Your favorite videos, subscriptions and playlists"));
+    connect(action, SIGNAL(triggered()), SLOT(showUser()));
+    bar->addAction(action);
+    */
+
+    foreach (QAction* action, bar->actions()) {
+        // action->setEnabled(false);
+        addAction(action);
+        action->setAutoRepeat(false);
+        if (!action->shortcut().isEmpty())
+            action->setStatusTip(
+                        action->statusTip() + " (" +
+                        action->shortcut().toString(QKeySequence::NativeText) + ")");
+    }
+}
+
+void HomeView::showWidget(QWidget *widget) {
+    QWidget* currentWidget = stackedWidget->currentWidget();
+    if (currentWidget == widget) return;
+    QMetaObject::invokeMethod(currentWidget, "disappear");
+    currentWidget->setEnabled(false);
+    stackedWidget->setCurrentWidget(widget);
+    widget->setEnabled(true);
+    QMetaObject::invokeMethod(widget, "appear");
+    bar->setCheckedAction(stackedWidget->currentIndex());
+    // autoChosenView = false;
+    widget->setFocus();
+}
+
+void HomeView::appear() {
+    QMetaObject::invokeMethod(stackedWidget->currentWidget(), "appear");
+}
+
+void HomeView::disappear() {
+    QMetaObject::invokeMethod(stackedWidget->currentWidget(), "disappear");
+}
+
+void HomeView::showSearch() {
+    showWidget(searchView);
+}
+
+void HomeView::showStandardFeeds() {
+    if (!standardFeedsView) {
+        standardFeedsView = new StandardFeedsView();
+        connect(standardFeedsView, SIGNAL(activated(VideoSource*)),
+                MainWindow::instance(),
+                SLOT(showMedia(VideoSource*)));
+        stackedWidget->addWidget(standardFeedsView);
+    }
+    showWidget(standardFeedsView);
+}
+
+void HomeView::showUser() {
+    if (!userView) {
+        userView = new UserView(this);
+        stackedWidget->addWidget(userView);
+    }
+    showWidget(userView);
+}
diff --git a/src/homeview.h b/src/homeview.h
new file mode 100644 (file)
index 0000000..2f9a8b1
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef HOMEVIEW_H
+#define HOMEVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class SegmentedControl;
+class SearchView;
+class StandardFeedsView;
+class UserView;
+
+class HomeView : public QWidget, public View  {
+
+    Q_OBJECT
+
+public:
+    HomeView(QWidget *parent = 0);
+    void appear();
+    void disappear();
+    QHash<QString, QVariant> metadata() {
+        QHash<QString, QVariant> metadata;
+        metadata.insert("description", tr("Make yourself comfortable"));
+        return metadata;
+    }
+    void showWidget(QWidget *widget);
+    SearchView* getSearchView() { return searchView; }
+    StandardFeedsView* getStandardFeedsView() { return standardFeedsView; }
+
+public slots:
+    void showSearch();
+    void showStandardFeeds();
+    void showUser();
+
+private:
+    void setupBar();
+    SegmentedControl *bar;
+    QStackedWidget *stackedWidget;
+
+    SearchView *searchView;
+    StandardFeedsView *standardFeedsView;
+    UserView* userView;
+
+};
+
+#endif // HOMEVIEW_H
diff --git a/src/iconloader/qticonloader.h b/src/iconloader/qticonloader.h
deleted file mode 100644 (file)
index a40da0f..0000000
+++ /dev/null
@@ -1,56 +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.
-**
-****************************************************************************/
-
-
-#ifndef QTICONLOADER_H
-#define QTICONLOADER_H
-
-#include <QtGui/QIcon>
-
-// This is the QtIconLoader 
-// Version 0.1
-//
-
-class QtIconLoader
-{
-public:
-    static QIcon icon(const QString &name);
-};
-
-#endif // QTICONLOADER_H
index f03d0f407357892da67604c54fa746655950cae5..399e6f081a940dc60d929e79ef22c65d1fe49b04 100644 (file)
@@ -1,13 +1,62 @@
 #include <QtGui>
 #include <qtsingleapplication.h>
 #include "constants.h"
-#include "MainWindow.h"
+#include "mainwindow.h"
 #include "searchparams.h"
+#include "utils.h"
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
 #ifdef Q_WS_MAC
 #include "mac_startup.h"
-#include "macfullscreen.h"
 #endif
-#include "iconloader/qticonloader.h"
+
+#ifdef Q_WS_X11
+QString getThemeName() {
+    QString themeName;
+
+    QProcess process;
+    process.start("dconf",
+                  QStringList() << "read" << "/org/gnome/desktop/interface/gtk-theme");
+    if (process.waitForFinished()) {
+        themeName = process.readAllStandardOutput();
+        themeName = themeName.trimmed();
+        themeName.remove('\'');
+        if (!themeName.isEmpty()) return themeName;
+    }
+
+    QString rcPaths = QString::fromLocal8Bit(qgetenv("GTK2_RC_FILES"));
+    if (!rcPaths.isEmpty()) {
+        QStringList paths = rcPaths.split(QLatin1String(":"));
+        foreach (const QString &rcPath, paths) {
+            if (!rcPath.isEmpty()) {
+                QFile rcFile(rcPath);
+                if (rcFile.exists() && rcFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
+                    QTextStream in(&rcFile);
+                    while(!in.atEnd()) {
+                        QString line = in.readLine();
+                        if (line.contains(QLatin1String("gtk-theme-name"))) {
+                            line = line.right(line.length() - line.indexOf(QLatin1Char('=')) - 1);
+                            line.remove(QLatin1Char('\"'));
+                            line = line.trimmed();
+                            themeName = line;
+                            break;
+                        }
+                    }
+                }
+            }
+            if (!themeName.isEmpty())
+                break;
+        }
+    }
+
+    // Fall back to gconf
+    if (themeName.isEmpty())
+        themeName = QGtkStyle::getGConfString(QLatin1String("/desktop/gnome/interface/gtk_theme"));
+
+    return themeName;
+}
+#endif
 
 int main(int argc, char **argv) {
 
@@ -16,40 +65,38 @@ int main(int argc, char **argv) {
 #endif
 
     QtSingleApplication app(argc, argv);
-    QString message = app.arguments().size() > 1 ? app.arguments().at(1) : "";
-    if (message == "--help") {
+    QString message = app.arguments().size() > 1 ? app.arguments().at(1) : QString();
+    if (message == QLatin1String("--help")) {
         MainWindow::printHelp();
         return 0;
     }
-
     if (app.sendMessage(message))
         return 0;
 
-    app.setApplicationName(Constants::NAME);
-    app.setOrganizationName(Constants::ORG_NAME);
-    app.setOrganizationDomain(Constants::ORG_DOMAIN);
-#ifndef APP_WIN
+    app.setApplicationName(QLatin1String(Constants::NAME));
+    app.setOrganizationName(QLatin1String(Constants::ORG_NAME));
+    app.setOrganizationDomain(QLatin1String(Constants::ORG_DOMAIN));
     app.setWheelScrollLines(1);
-#endif
+    app.setAttribute(Qt::AA_DontShowIconsInMenus);
 
-#ifdef APP_MAC
-    app.setAttribute(Qt::AA_NativeWindows);
-    QFile file(":/mac.css");
-    file.open(QFile::ReadOnly);
-    app.setStyleSheet(QLatin1String(file.readAll()));
-#endif
-
-#ifdef APP_WIN
-    QFile file(":/win.css");
-    file.open(QFile::ReadOnly);
-    app.setStyleSheet(QLatin1String(file.readAll()));
+#ifndef Q_WS_X11
+    Extra::appSetup(&app);
+#else
+    bool isGtk = app.style()->metaObject()->className() == QLatin1String("QGtkStyle");
+    if (isGtk) {
+        app.setProperty("gtk", isGtk);
+        QString themeName = getThemeName();
+        app.setProperty("style", themeName);
+    }
+    QFile cssFile(":/style.css");
+    cssFile.open(QFile::ReadOnly);
+    QString styleSheet = QLatin1String(cssFile.readAll());
+    app.setStyleSheet(styleSheet);
 #endif
 
-    const QString locale = QLocale::system().name();
-
     // qt translations
     QTranslator qtTranslator;
-    qtTranslator.load("qt_" + locale,
+    qtTranslator.load("qt_" + QLocale::system().name(),
                       QLibraryInfo::location(QLibraryInfo::TranslationsPath));
     app.installTranslator(&qtTranslator);
 
@@ -59,29 +106,30 @@ int main(int argc, char **argv) {
 #else
     QString dataDir = "";
 #endif
-    QString localeDir = qApp->applicationDirPath() + QDir::separator() + "locale";
+    QString localeDir = qApp->applicationDirPath() + "/locale";
     if (!QDir(localeDir).exists()) {
-        localeDir = dataDir + QDir::separator() + "locale";
+        localeDir = dataDir + "/locale";
     }
     // qDebug() << "Using locale dir" << localeDir << locale;
     QTranslator translator;
-    translator.load(locale, localeDir);
+    translator.load(QLocale::system(), localeDir);
     app.installTranslator(&translator);
     QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
 
     MainWindow mainWin;
     mainWin.setWindowTitle(Constants::NAME);
 
-#ifdef Q_WS_MAC
-    app.setQuitOnLastWindowClosed(false);
-    mac::SetupFullScreenWindow(mainWin.winId());
+#ifndef Q_WS_X11
+    Extra::windowSetup(&mainWin);
+#else
+    mainWin.setProperty("style", app.property("style"));
 #endif
 
 // no window icon on Mac
 #ifndef APP_MAC
     QIcon appIcon;
     if (QDir(dataDir).exists()) {
-        appIcon = QtIconLoader::icon(Constants::UNIX_NAME);
+        appIcon = Utils::icon(Constants::UNIX_NAME);
     } else {
         dataDir = qApp->applicationDirPath() + "/data";
         const int iconSizes [] = { 16, 22, 32, 48, 64, 128, 256, 512 };
@@ -97,21 +145,15 @@ int main(int argc, char **argv) {
     mainWin.setWindowIcon(appIcon);
 #endif
 
-#ifdef APP_WIN
-    app.setFont(QFont("Segoe UI", 9));
-#endif
-
-    mainWin.show();
-
     mainWin.connect(&app, SIGNAL(messageReceived(const QString &)), &mainWin, SLOT(messageReceived(const QString &)));
     app.setActivationWindow(&mainWin, true);
 
     // all string literals are UTF-8
-    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
+    // QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
 
     if (app.arguments().size() > 1) {
         QString query = app.arguments().at(1);
-        if (query.startsWith("--")) {
+        if (query.startsWith(QLatin1String("--"))) {
             mainWin.messageReceived(query);
             return 0;
         } else {
@@ -121,6 +163,8 @@ int main(int argc, char **argv) {
         }
     }
 
+    mainWin.show();
+
     // Seed random number generator
     qsrand(QDateTime::currentDateTime().toTime_t());
 
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
new file mode 100644 (file)
index 0000000..bb815c0
--- /dev/null
@@ -0,0 +1,1585 @@
+#include "mainwindow.h"
+#include "homeview.h"
+#include "searchview.h"
+#include "mediaview.h"
+#include "aboutview.h"
+#include "downloadview.h"
+#include "spacer.h"
+#include "constants.h"
+#include "utils.h"
+#include "global.h"
+#include "videodefinition.h"
+#include "fontutils.h"
+#include "globalshortcuts.h"
+#include "searchparams.h"
+#include "videosource.h"
+#include "ytsearch.h"
+#ifdef Q_WS_X11
+#include "gnomeglobalshortcutbackend.h"
+#endif
+#ifdef Q_WS_MAC
+#include "mac_startup.h"
+#include "macfullscreen.h"
+#include "macsupport.h"
+#include "macutils.h"
+#endif
+#include "downloadmanager.h"
+#include "ytsuggester.h"
+#include "updatechecker.h"
+#include "temporary.h"
+#ifdef APP_MAC
+#include "searchlineedit_mac.h"
+#else
+#include "searchlineedit.h"
+#endif
+#include <iostream>
+#ifndef Q_WS_X11
+#include "extra.h"
+#include "updatedialog.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#include "activationview.h"
+#include "activationdialog.h"
+#endif
+#include "ytregions.h"
+#include "regionsview.h"
+#include "standardfeedsview.h"
+
+static MainWindow *singleton = 0;
+
+MainWindow* MainWindow::instance() {
+    if (!singleton) singleton = new MainWindow();
+    return singleton;
+}
+
+MainWindow::MainWindow() :
+    updateChecker(0),
+    aboutView(0),
+    downloadView(0),
+    regionsView(0),
+    mediaObject(0),
+    audioOutput(0),
+    m_fullscreen(false) {
+
+    singleton = this;
+
+    // views mechanism
+    history = new QStack<QWidget*>();
+    views = new QStackedWidget();
+    views->hide();
+    setCentralWidget(views);
+
+    // views
+    homeView = new HomeView(this);
+    views->addWidget(homeView);
+
+    // TODO make this lazy
+    mediaView = MediaView::instance();
+    mediaView->setEnabled(false);
+    views->addWidget(mediaView);
+
+    // build ui
+    createActions();
+    createMenus();
+    createToolBars();
+    createStatusBar();
+
+    initPhonon();
+    mediaView->setMediaObject(mediaObject);
+
+    // remove that useless menu/toolbar context menu
+    this->setContextMenuPolicy(Qt::NoContextMenu);
+
+    // mediaView init stuff thats needs actions
+    mediaView->initialize();
+
+    // event filter to block ugly toolbar tooltips
+    qApp->installEventFilter(this);
+
+    setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+
+    // restore window position
+    readSettings();
+
+    // fix stacked widget minimum size
+    for (int i = 0; i < views->count(); i++) {
+        QWidget* view = views->widget(i);
+        if (view) view->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+    }
+    setMinimumWidth(0);
+
+    // show the initial view
+    showHome(false);
+
+#ifdef APP_ACTIVATION
+    if (!Activation::instance().isActivated())
+        showActivationView(false);
+#endif
+
+    views->show();
+
+    // Global shortcuts
+    GlobalShortcuts &shortcuts = GlobalShortcuts::instance();
+#ifdef Q_WS_X11
+    if (GnomeGlobalShortcutBackend::IsGsdAvailable())
+        shortcuts.setBackend(new GnomeGlobalShortcutBackend(&shortcuts));
+#endif
+#ifdef Q_WS_MAC
+    mac::MacSetup();
+#endif
+    connect(&shortcuts, SIGNAL(PlayPause()), pauseAct, SLOT(trigger()));
+    connect(&shortcuts, SIGNAL(Stop()), this, SLOT(stop()));
+    connect(&shortcuts, SIGNAL(Next()), skipAct, SLOT(trigger()));
+    connect(&shortcuts, SIGNAL(Previous()), skipBackwardAct, SLOT(trigger()));
+    // connect(&shortcuts, SIGNAL(StopAfter()), The::globalActions()->value("stopafterthis"), SLOT(toggle()));
+
+    connect(DownloadManager::instance(), SIGNAL(statusMessageChanged(QString)),
+            SLOT(updateDownloadMessage(QString)));
+    connect(DownloadManager::instance(), SIGNAL(finished()),
+            SLOT(downloadsFinished()));
+
+    setAcceptDrops(true);
+
+    mouseTimer = new QTimer(this);
+    mouseTimer->setInterval(5000);
+    mouseTimer->setSingleShot(true);
+    connect(mouseTimer, SIGNAL(timeout()), SLOT(hideMouse()));
+
+    QTimer::singleShot(0, this, SLOT(checkForUpdate()));
+
+}
+
+MainWindow::~MainWindow() {
+    delete history;
+}
+
+void MainWindow::changeEvent(QEvent* event) {
+#ifdef APP_MAC
+    if (event->type() == QEvent::WindowStateChange) {
+        The::globalActions()->value("minimize")->setEnabled(!isMinimized());
+    }
+#endif
+    QMainWindow::changeEvent(event);
+}
+
+bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
+
+    if (m_fullscreen && event->type() == QEvent::MouseMove) {
+
+        QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (event);
+        const int x = mouseEvent->pos().x();
+        const QString className = QString(obj->metaObject()->className());
+        const bool isHoveringVideo =
+                (className == QLatin1String("QGLWidget")) ||
+                (className == QLatin1String("VideoAreaWidget"));
+
+        // qDebug() << obj << mouseEvent->pos() << isHoveringVideo << mediaView->isPlaylistVisible();
+
+        if (mediaView->isPlaylistVisible()) {
+            if (isHoveringVideo && x > 5) mediaView->setPlaylistVisible(false);
+        } else {
+            if (isHoveringVideo && 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);
+        }
+#endif
+
+        // show the normal cursor
+        unsetCursor();
+        // then hide it again after a few seconds
+        mouseTimer->start();
+
+    }
+
+    if (event->type() == QEvent::ToolTip) {
+        // kill tooltips
+        return true;
+    }
+    // standard event processing
+    return QMainWindow::eventFilter(obj, event);
+}
+
+void MainWindow::createActions() {
+
+    QHash<QString, QAction*> *actions = The::globalActions();
+
+    stopAct = new QAction(Utils::icon("media-playback-stop"), tr("&Stop"), this);
+    stopAct->setStatusTip(tr("Stop playback and go back to the search view"));
+    stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
+    stopAct->setEnabled(false);
+    actions->insert("stop", stopAct);
+    connect(stopAct, SIGNAL(triggered()), this, SLOT(stop()));
+
+    skipBackwardAct = new QAction(
+                Utils::icon("media-skip-backward"),
+                tr("P&revious"), this);
+    skipBackwardAct->setStatusTip(tr("Go back to the previous track"));
+    skipBackwardAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
+#if QT_VERSION >= 0x040600
+    skipBackwardAct->setPriority(QAction::LowPriority);
+#endif
+    skipBackwardAct->setEnabled(false);
+    actions->insert("previous", skipBackwardAct);
+    connect(skipBackwardAct, SIGNAL(triggered()), mediaView, SLOT(skipBackward()));
+
+    skipAct = new QAction(Utils::icon("media-skip-forward"), tr("S&kip"), this);
+    skipAct->setStatusTip(tr("Skip to the next video"));
+    skipAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Right) << QKeySequence(Qt::Key_MediaNext));
+    skipAct->setEnabled(false);
+    actions->insert("skip", skipAct);
+    connect(skipAct, SIGNAL(triggered()), mediaView, SLOT(skip()));
+
+    pauseAct = new QAction(Utils::icon("media-playback-pause"), tr("&Pause"), this);
+    pauseAct->setStatusTip(tr("Pause playback"));
+    pauseAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Space) << QKeySequence(Qt::Key_MediaPlay));
+    pauseAct->setEnabled(false);
+    actions->insert("pause", pauseAct);
+    connect(pauseAct, SIGNAL(triggered()), mediaView, SLOT(pause()));
+
+    fullscreenAct = new QAction(Utils::icon("view-fullscreen"), tr("&Full Screen"), this);
+    fullscreenAct->setStatusTip(tr("Go full screen"));
+    QList<QKeySequence> fsShortcuts;
+#ifdef APP_MAC
+    fsShortcuts << QKeySequence(Qt::CTRL + Qt::META + Qt::Key_F);
+#else
+    fsShortcuts << QKeySequence(Qt::Key_F11) << QKeySequence(Qt::ALT + Qt::Key_Return);
+#endif
+    fullscreenAct->setShortcuts(fsShortcuts);
+    fullscreenAct->setShortcutContext(Qt::ApplicationShortcut);
+#if QT_VERSION >= 0x040600
+    fullscreenAct->setPriority(QAction::LowPriority);
+#endif
+    actions->insert("fullscreen", fullscreenAct);
+    connect(fullscreenAct, SIGNAL(triggered()), this, SLOT(fullscreen()));
+
+    compactViewAct = new QAction(tr("&Compact Mode"), this);
+    compactViewAct->setStatusTip(tr("Hide the playlist and the toolbar"));
+#ifdef APP_MAC
+    compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::META + Qt::Key_C));
+#else
+    compactViewAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C));
+#endif
+    compactViewAct->setCheckable(true);
+    compactViewAct->setChecked(false);
+    compactViewAct->setEnabled(false);
+    actions->insert("compactView", compactViewAct);
+    connect(compactViewAct, SIGNAL(toggled(bool)), this, SLOT(compactView(bool)));
+
+    webPageAct = new QAction(tr("Open the &YouTube Page"), this);
+    webPageAct->setStatusTip(tr("Go to the YouTube video page and pause playback"));
+    webPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Y));
+    webPageAct->setEnabled(false);
+    actions->insert("webpage", webPageAct);
+    connect(webPageAct, SIGNAL(triggered()), mediaView, SLOT(openWebPage()));
+
+    copyPageAct = new QAction(tr("Copy the YouTube &Link"), this);
+    copyPageAct->setStatusTip(tr("Copy the current video YouTube link to the clipboard"));
+    copyPageAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L));
+    copyPageAct->setEnabled(false);
+    actions->insert("pagelink", copyPageAct);
+    connect(copyPageAct, SIGNAL(triggered()), mediaView, SLOT(copyWebPage()));
+
+    copyLinkAct = new QAction(tr("Copy the Video Stream &URL"), this);
+    copyLinkAct->setStatusTip(tr("Copy the current video stream URL to the clipboard"));
+    copyLinkAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
+    copyLinkAct->setEnabled(false);
+    actions->insert("videolink", copyLinkAct);
+    connect(copyLinkAct, SIGNAL(triggered()), mediaView, SLOT(copyVideoLink()));
+
+    findVideoPartsAct = new QAction(tr("Find Video &Parts"), this);
+    findVideoPartsAct->setStatusTip(tr("Find other video parts hopefully in the right order"));
+    findVideoPartsAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_P));
+    findVideoPartsAct->setEnabled(false);
+    connect(findVideoPartsAct, SIGNAL(triggered()), mediaView, SLOT(findVideoParts()));
+    actions->insert("findVideoParts", findVideoPartsAct);
+
+    removeAct = new QAction(tr("&Remove"), this);
+    removeAct->setStatusTip(tr("Remove the selected videos from the playlist"));
+    removeAct->setShortcuts(QList<QKeySequence>() << QKeySequence("Del") << QKeySequence("Backspace"));
+    removeAct->setEnabled(false);
+    actions->insert("remove", removeAct);
+    connect(removeAct, SIGNAL(triggered()), mediaView, SLOT(removeSelected()));
+
+    moveUpAct = new QAction(tr("Move &Up"), this);
+    moveUpAct->setStatusTip(tr("Move up the selected videos in the playlist"));
+    moveUpAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
+    moveUpAct->setEnabled(false);
+    actions->insert("moveUp", moveUpAct);
+    connect(moveUpAct, SIGNAL(triggered()), mediaView, SLOT(moveUpSelected()));
+
+    moveDownAct = new QAction(tr("Move &Down"), this);
+    moveDownAct->setStatusTip(tr("Move down the selected videos in the playlist"));
+    moveDownAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
+    moveDownAct->setEnabled(false);
+    actions->insert("moveDown", moveDownAct);
+    connect(moveDownAct, SIGNAL(triggered()), mediaView, SLOT(moveDownSelected()));
+
+    clearAct = new QAction(tr("&Clear Recent Searches"), this);
+    clearAct->setMenuRole(QAction::ApplicationSpecificRole);
+    clearAct->setShortcuts(QList<QKeySequence>()
+                           << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Delete)
+                           << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Backspace));
+    clearAct->setStatusTip(tr("Clear the search history. Cannot be undone."));
+    clearAct->setEnabled(true);
+    actions->insert("clearRecentKeywords", clearAct);
+    connect(clearAct, SIGNAL(triggered()), SLOT(clearRecentKeywords()));
+
+    quitAct = new QAction(tr("&Quit"), this);
+    quitAct->setMenuRole(QAction::QuitRole);
+    quitAct->setShortcut(QKeySequence(QKeySequence::Quit));
+    quitAct->setStatusTip(tr("Bye"));
+    actions->insert("quit", quitAct);
+    connect(quitAct, SIGNAL(triggered()), SLOT(quit()));
+
+    siteAct = new QAction(tr("&Website"), this);
+    siteAct->setShortcut(QKeySequence::HelpContents);
+    siteAct->setStatusTip(tr("%1 on the Web").arg(Constants::NAME));
+    actions->insert("site", siteAct);
+    connect(siteAct, SIGNAL(triggered()), this, SLOT(visitSite()));
+
+#if !defined(APP_MAC) && !defined(APP_WIN)
+    donateAct = new QAction(tr("Make a &Donation"), this);
+    donateAct->setStatusTip(tr("Please support the continued development of %1").arg(Constants::NAME));
+    actions->insert("donate", donateAct);
+    connect(donateAct, SIGNAL(triggered()), this, SLOT(donate()));
+#endif
+
+    aboutAct = new QAction(tr("&About"), this);
+    aboutAct->setMenuRole(QAction::AboutRole);
+    aboutAct->setStatusTip(tr("Info about %1").arg(Constants::NAME));
+    actions->insert("about", aboutAct);
+    connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
+
+    // Invisible actions
+
+    searchFocusAct = new QAction(this);
+    searchFocusAct->setShortcut(QKeySequence::Find);
+    searchFocusAct->setStatusTip(tr("Search"));
+    actions->insert("search", searchFocusAct);
+    connect(searchFocusAct, SIGNAL(triggered()), this, SLOT(searchFocus()));
+    addAction(searchFocusAct);
+
+    volumeUpAct = new QAction(this);
+    volumeUpAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Plus));
+    actions->insert("volume-up", volumeUpAct);
+    connect(volumeUpAct, SIGNAL(triggered()), this, SLOT(volumeUp()));
+    addAction(volumeUpAct);
+
+    volumeDownAct = new QAction(this);
+    volumeDownAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_Minus));
+    actions->insert("volume-down", volumeDownAct);
+    connect(volumeDownAct, SIGNAL(triggered()), this, SLOT(volumeDown()));
+    addAction(volumeDownAct);
+
+    volumeMuteAct = new QAction(this);
+    volumeMuteAct->setIcon(Utils::icon("audio-volume-high"));
+    volumeMuteAct->setStatusTip(tr("Mute volume"));
+    volumeMuteAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_E));
+    actions->insert("volume-mute", volumeMuteAct);
+    connect(volumeMuteAct, SIGNAL(triggered()), SLOT(volumeMute()));
+    addAction(volumeMuteAct);
+
+    QAction *definitionAct = new QAction(this);
+    definitionAct->setIcon(Utils::icon("video-display"));
+    definitionAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_D));
+    /*
+    QMenu *definitionMenu = new QMenu(this);
+    foreach (QString definition, VideoDefinition::getDefinitionNames()) {
+        definitionMenu->addAction(definition);
+    }
+    definitionAct->setMenu(definitionMenu);
+    */
+    actions->insert("definition", definitionAct);
+    connect(definitionAct, SIGNAL(triggered()), SLOT(toggleDefinitionMode()));
+    addAction(definitionAct);
+
+    QAction *action;
+
+    action = new QAction(Utils::icon("media-playback-start"), tr("&Manually Start Playing"), this);
+    action->setStatusTip(tr("Manually start playing videos"));
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_B));
+    action->setCheckable(true);
+    connect(action, SIGNAL(toggled(bool)), SLOT(setManualPlay(bool)));
+    actions->insert("manualplay", action);
+
+    action = new QAction(tr("&Downloads"), this);
+    action->setStatusTip(tr("Show details about video downloads"));
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_J));
+    action->setCheckable(true);
+    action->setIcon(Utils::icon("document-save"));
+    action->setVisible(false);
+    connect(action, SIGNAL(toggled(bool)), SLOT(toggleDownloads(bool)));
+    actions->insert("downloads", action);
+
+    action = new QAction(tr("&Download"), this);
+    action->setStatusTip(tr("Download the current video"));
+#ifndef APP_NO_DOWNLOADS
+    action->setShortcut(QKeySequence::Save);
+#endif
+    action->setIcon(Utils::icon("document-save"));
+    action->setEnabled(false);
+#if QT_VERSION >= 0x040600
+    action->setPriority(QAction::LowPriority);
+#endif
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(downloadVideo()));
+    actions->insert("download", action);
+
+    /*
+    action = new QAction(tr("&Snapshot"), this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_S));
+    actions->insert("snapshot", action);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(snapshot()));
+    */
+
+    QString shareTip = tr("Share the current video using %1");
+
+    action = new QAction("&Twitter", this);
+    action->setStatusTip(shareTip.arg("Twitter"));
+    actions->insert("twitter", action);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaTwitter()));
+
+    action = new QAction("&Facebook", this);
+    action->setStatusTip(shareTip.arg("Facebook"));
+    actions->insert("facebook", action);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaFacebook()));
+
+    action = new QAction("&Buffer", this);
+    action->setStatusTip(shareTip.arg("Buffer"));
+    actions->insert("buffer", action);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaBuffer()));
+
+    action = new QAction(tr("&Email"), this);
+    action->setStatusTip(shareTip.arg(tr("Email")));
+    actions->insert("email", action);
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(shareViaEmail()));
+
+    action = new QAction(tr("&Close"), this);
+    action->setShortcut(QKeySequence(QKeySequence::Close));
+    actions->insert("close", action);
+    connect(action, SIGNAL(triggered()), SLOT(close()));
+
+    action = new QAction(Constants::NAME, this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_1));
+    actions->insert("restore", action);
+    connect(action, SIGNAL(triggered()), SLOT(restore()));
+
+    action = new QAction(Utils::icon("go-top"), tr("&Float on Top"), this);
+    action->setCheckable(true);
+    actions->insert("ontop", action);
+    connect(action, SIGNAL(toggled(bool)), SLOT(floatOnTop(bool)));
+
+    action = new QAction(Utils::icon("media-playback-stop"), tr("&Stop After This Video"), this);
+    action->setShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Escape));
+    action->setCheckable(true);
+    action->setEnabled(false);
+    actions->insert("stopafterthis", action);
+    connect(action, SIGNAL(toggled(bool)), SLOT(showStopAfterThisInStatusBar(bool)));
+
+    action = new QAction(tr("&Report an Issue..."), this);
+    actions->insert("report-issue", action);
+    connect(action, SIGNAL(triggered()), SLOT(reportIssue()));
+
+    action = new QAction(tr("&Refine Search..."), this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_E));
+    action->setCheckable(true);
+    action->setEnabled(false);
+    actions->insert("refine-search", action);
+
+    action = new QAction(YTRegions::worldwideRegion().name, this);
+    actions->insert("worldwide-region", action);
+
+    action = new QAction(YTRegions::localRegion().name, this);
+    actions->insert("local-region", action);
+
+    action = new QAction(tr("More..."), this);
+    actions->insert("more-region", action);
+
+    action = new QAction(Utils::icon(QStringList() << "view-list-symbolic" << "view-list" << "format-justify-fill"), tr("&Related Videos"), this);
+    action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R));
+    action->setStatusTip(tr("Watch videos related to the current one"));
+    action->setEnabled(false);
+#if QT_VERSION >= 0x040600
+    action->setPriority(QAction::LowPriority);
+#endif
+    connect(action, SIGNAL(triggered()), mediaView, SLOT(relatedVideos()));
+    actions->insert("related-videos", action);
+
+#ifdef APP_ACTIVATION
+    Extra::createActivationAction(tr("Buy %1...").arg(Constants::NAME));
+#endif
+
+    // common action properties
+    foreach (QAction *action, actions->values()) {
+
+        // add actions to the MainWindow so that they work
+        // when the menu is hidden
+        addAction(action);
+
+        // never autorepeat.
+        // unexperienced users tend to keep keys pressed for a "long" time
+        action->setAutoRepeat(false);
+
+        // set to something more meaningful then the toolbar text
+        if (!action->statusTip().isEmpty())
+            action->setToolTip(action->statusTip());
+
+        // show keyboard shortcuts in the status bar
+        if (!action->shortcut().isEmpty())
+            action->setStatusTip(action->statusTip() + " (" + action->shortcut().toString(QKeySequence::NativeText) + ")");
+    }
+
+}
+
+void MainWindow::createMenus() {
+
+    QHash<QString, QMenu*> *menus = The::globalMenus();
+
+    fileMenu = menuBar()->addMenu(tr("&Application"));
+#ifdef APP_ACTIVATION
+    QAction *buyAction = The::globalActions()->value("buy");
+    if (buyAction) fileMenu->addAction(buyAction);
+#ifndef APP_MAC
+    fileMenu->addSeparator();
+#endif
+#endif
+    fileMenu->addAction(clearAct);
+#ifndef APP_MAC
+    fileMenu->addSeparator();
+#endif
+    fileMenu->addAction(quitAct);
+
+    QMenu* playbackMenu = menuBar()->addMenu(tr("&Playback"));
+    menus->insert("playback", playbackMenu);
+    playbackMenu->addAction(pauseAct);
+    playbackMenu->addAction(stopAct);
+    playbackMenu->addAction(The::globalActions()->value("stopafterthis"));
+    playbackMenu->addSeparator();
+    playbackMenu->addAction(skipAct);
+    playbackMenu->addAction(skipBackwardAct);
+    playbackMenu->addSeparator();
+    playbackMenu->addAction(The::globalActions()->value("manualplay"));
+#ifdef APP_MAC
+    MacSupport::dockMenu(playbackMenu);
+#endif
+
+    playlistMenu = menuBar()->addMenu(tr("&Playlist"));
+    menus->insert("playlist", playlistMenu);
+    playlistMenu->addAction(removeAct);
+    playlistMenu->addSeparator();
+    playlistMenu->addAction(moveUpAct);
+    playlistMenu->addAction(moveDownAct);
+    playlistMenu->addSeparator();
+    playlistMenu->addAction(The::globalActions()->value("refine-search"));
+
+    QMenu* videoMenu = menuBar()->addMenu(tr("&Video"));
+    menus->insert("video", videoMenu);
+    videoMenu->addAction(The::globalActions()->value("related-videos"));
+    videoMenu->addAction(findVideoPartsAct);
+    videoMenu->addSeparator();
+    videoMenu->addAction(webPageAct);
+    videoMenu->addSeparator();
+#ifndef APP_NO_DOWNLOADS
+    videoMenu->addAction(The::globalActions()->value("download"));
+    // videoMenu->addAction(copyLinkAct);
+#endif
+    // videoMenu->addAction(The::globalActions()->value("snapshot"));
+
+    QMenu* viewMenu = menuBar()->addMenu(tr("&View"));
+    menus->insert("view", viewMenu);
+    viewMenu->addAction(fullscreenAct);
+    viewMenu->addAction(compactViewAct);
+    viewMenu->addSeparator();
+    viewMenu->addAction(The::globalActions()->value("ontop"));
+
+    QMenu* shareMenu = menuBar()->addMenu(tr("&Share"));
+    menus->insert("share", shareMenu);
+    shareMenu->addAction(copyPageAct);
+    shareMenu->addSeparator();
+    shareMenu->addAction(The::globalActions()->value("twitter"));
+    shareMenu->addAction(The::globalActions()->value("facebook"));
+    shareMenu->addAction(The::globalActions()->value("buffer"));
+    shareMenu->addSeparator();
+    shareMenu->addAction(The::globalActions()->value("email"));
+
+#ifdef APP_MAC
+    MacSupport::windowMenu(this);
+#endif
+
+    helpMenu = menuBar()->addMenu(tr("&Help"));
+    helpMenu->addAction(siteAct);
+#if !defined(APP_MAC) && !defined(APP_WIN)
+    helpMenu->addAction(donateAct);
+#endif
+    helpMenu->addAction(The::globalActions()->value("report-issue"));
+    helpMenu->addAction(aboutAct);
+}
+
+void MainWindow::createToolBars() {
+
+    setUnifiedTitleAndToolBarOnMac(true);
+
+    mainToolBar = new QToolBar(this);
+    mainToolBar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
+    mainToolBar->setFloatable(false);
+    mainToolBar->setMovable(false);
+
+#if defined(APP_MAC) | defined(APP_WIN)
+    mainToolBar->setIconSize(QSize(32, 32));
+#endif
+
+    mainToolBar->addAction(stopAct);
+    mainToolBar->addAction(pauseAct);
+    mainToolBar->addAction(skipAct);
+
+    mainToolBar->addAction(The::globalActions()->value("related-videos"));
+#ifndef APP_NO_DOWNLOADS
+    mainToolBar->addAction(The::globalActions()->value("download"));
+#endif
+
+    bool addFullScreenAct = true;
+#ifdef Q_WS_MAC
+    addFullScreenAct = !mac::CanGoFullScreen(winId());
+#endif
+    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());
+
+    seekSlider = new Phonon::SeekSlider(this);
+    seekSlider->setIconVisible(false);
+    seekSlider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+    mainToolBar->addWidget(seekSlider);
+
+    /*
+    mainToolBar->addWidget(new Spacer());
+    slider = new QSlider(this);
+    slider->setOrientation(Qt::Horizontal);
+    slider->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+    mainToolBar->addWidget(slider);
+*/
+
+    mainToolBar->addWidget(new Spacer());
+
+    totalTime = new QLabel(mainToolBar);
+    totalTime->setFont(smallerFont);
+    mainToolBar->addWidget(totalTime);
+
+    mainToolBar->addWidget(new Spacer());
+
+    mainToolBar->addAction(volumeMuteAct);
+
+    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);
+
+    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&)), this, SLOT(startToolbarSearch(const QString&)));
+    connect(toolbarSearch, SIGNAL(suggestionAccepted(const QString&)), SLOT(startToolbarSearch(const QString&)));
+    toolbarSearch->setStatusTip(searchFocusAct->statusTip());
+#ifdef APP_MAC
+    mainToolBar->addWidget(searchWrapper);
+#else
+    mainToolBar->addWidget(toolbarSearch);
+    Spacer* spacer = new Spacer();
+    // spacer->setWidth(4);
+    mainToolBar->addWidget(spacer);
+#endif
+
+    addToolBar(mainToolBar);
+}
+
+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);
+
+    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);
+        regionMenu->addSeparator();
+        QAction *moreRegionsAction = The::globalActions()->value("more-region");
+        regionMenu->addAction(moreRegionsAction);
+        connect(moreRegionsAction, SIGNAL(triggered()), SLOT(showRegionsView()));
+        regionButton->setMenu(regionMenu);
+    } else {
+        connect(regionButton, SIGNAL(clicked()), SLOT(showRegionsView()));
+    }
+
+    /* Stupid code that generates the QRC items
+    foreach(YTRegion r, YTRegions::list())
+        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) {
+    QAction* action = The::globalActions()->value("stopafterthis");
+    showActionInStatusBar(action, show);
+}
+
+void MainWindow::showActionInStatusBar(QAction* action, bool show) {
+    if (show) {
+        statusToolBar->insertAction(statusToolBar->actions().first(), action);
+    } else {
+        statusToolBar->removeAction(action);
+    }
+}
+
+void MainWindow::readSettings() {
+    QSettings settings;
+    if (settings.contains("geometry")) {
+        restoreGeometry(settings.value("geometry").toByteArray());
+#ifdef APP_MAC
+        MacSupport::fixGeometry(this);
+#endif
+    } else {
+        setGeometry(100, 100, 1000, 500);
+    }
+    setDefinitionMode(settings.value("definition", VideoDefinition::getDefinitionNames().first()).toString());
+    audioOutput->setVolume(settings.value("volume", 1).toDouble());
+    // audioOutput->setMuted(settings.value("volumeMute").toBool());
+    The::globalActions()->value("manualplay")->setChecked(settings.value("manualplay", false).toBool());
+}
+
+void MainWindow::writeSettings() {
+    QSettings settings;
+
+    settings.setValue("geometry", saveGeometry());
+    mediaView->saveSplitterState();
+
+    settings.setValue("volume", audioOutput->volume());
+    settings.setValue("volumeMute", audioOutput->isMuted());
+    settings.setValue("manualplay", The::globalActions()->value("manualplay")->isChecked());
+}
+
+void MainWindow::goBack() {
+    if ( history->size() > 1 ) {
+        history->pop();
+        QWidget *widget = history->pop();
+        showWidget(widget);
+    }
+}
+
+void MainWindow::showWidget(QWidget* widget, bool transition) {
+
+    if (compactViewAct->isChecked())
+        compactViewAct->toggle();
+
+    setUpdatesEnabled(false);
+
+    // call hide method on the current view
+    View* oldView = dynamic_cast<View *> (views->currentWidget());
+    if (oldView) {
+        oldView->disappear();
+        views->currentWidget()->setEnabled(false);
+    } else qDebug() << "Cannot cast view";
+
+    // call show method on the new view
+    View* newView = dynamic_cast<View *> (widget);
+    if (newView) {
+        widget->setEnabled(true);
+        newView->appear();
+        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);
+    }
+
+    const bool isMediaView = widget == mediaView;
+
+    stopAct->setEnabled(isMediaView);
+    compactViewAct->setEnabled(isMediaView);
+    webPageAct->setEnabled(isMediaView);
+    copyPageAct->setEnabled(isMediaView);
+    copyLinkAct->setEnabled(isMediaView);
+    findVideoPartsAct->setEnabled(isMediaView);
+    toolbarSearch->setEnabled(widget == homeView || isMediaView || widget == downloadView);
+
+    if (widget == homeView) {
+        skipAct->setEnabled(false);
+        The::globalActions()->value("previous")->setEnabled(false);
+        The::globalActions()->value("download")->setEnabled(false);
+        The::globalActions()->value("stopafterthis")->setEnabled(false);
+        The::globalActions()->value("related-videos")->setEnabled(false);
+        The::globalActions()->value("refine-search")->setEnabled(false);
+    }
+
+    The::globalActions()->value("twitter")->setEnabled(isMediaView);
+    The::globalActions()->value("facebook")->setEnabled(isMediaView);
+    The::globalActions()->value("buffer")->setEnabled(isMediaView);
+    The::globalActions()->value("email")->setEnabled(isMediaView);
+
+    aboutAct->setEnabled(widget != aboutView);
+    The::globalActions()->value("downloads")->setChecked(widget == downloadView);
+
+    setUpdatesEnabled(true);
+
+    QWidget *oldWidget = views->currentWidget();
+    if (oldWidget)
+        oldWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+
+    views->setCurrentWidget(widget);
+    widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+
+#ifndef Q_WS_X11
+    if (transition && oldWidget != mediaView)
+        Extra::fadeInWidget(oldWidget, widget);
+#endif
+
+    history->push(widget);
+}
+
+void MainWindow::about() {
+    if (!aboutView) {
+        aboutView = new AboutView(this);
+        views->addWidget(aboutView);
+    }
+    showWidget(aboutView);
+}
+
+void MainWindow::visitSite() {
+    QUrl url(Constants::WEBSITE);
+    statusBar()->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())));
+    QDesktopServices::openUrl(url);
+}
+
+void MainWindow::reportIssue() {
+    QUrl url("http://flavio.tordini.org/forums/forum/minitube-forums/minitube-troubleshooting");
+    QDesktopServices::openUrl(url);
+}
+
+void MainWindow::quit() {
+#ifdef APP_MAC
+    if (!confirmQuit()) {
+        return;
+    }
+#endif
+    // do not save geometry when in full screen or in compact mode
+    if (!m_fullscreen && !compactViewAct->isChecked()) {
+        writeSettings();
+    }
+    Temporary::deleteAll();
+    qApp->quit();
+}
+
+void MainWindow::closeEvent(QCloseEvent *event) {
+#ifdef APP_MAC
+    mac::closeWindow(winId());
+    event->ignore();
+#else
+    if (!confirmQuit()) {
+        event->ignore();
+        return;
+    }
+    QWidget::closeEvent(event);
+    quit();
+#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.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);
+        // make it a "sheet" on the Mac
+        msgBox.setWindowModality(Qt::WindowModal);
+
+        msgBox.addButton(tr("Close and cancel download"), QMessageBox::RejectRole);
+        QPushButton *waitButton = msgBox.addButton(tr("Wait for download to finish"), QMessageBox::ActionRole);
+
+        msgBox.exec();
+
+        if (msgBox.clickedButton() == waitButton) {
+            return false;
+        }
+    }
+    return true;
+}
+
+void MainWindow::showHome(bool transition) {
+    showWidget(homeView, transition);
+    currentTime->clear();
+    totalTime->clear();
+}
+
+void MainWindow::showMedia(SearchParams *searchParams) {
+    mediaView->search(searchParams);
+    showWidget(mediaView);
+}
+
+void MainWindow::showMedia(VideoSource *videoSource) {
+    mediaView->setVideoSource(videoSource);
+    showWidget(mediaView);
+}
+
+void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) {
+
+    // qDebug() << "Phonon state: " << newState;
+
+    switch (newState) {
+
+    case Phonon::ErrorState:
+        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()));
+        } else {
+            statusBar()->showMessage(tr("Error: %1").arg(mediaObject->errorString()));
+        }
+        break;
+
+    case Phonon::PlayingState:
+        pauseAct->setEnabled(true);
+        pauseAct->setIcon(Utils::icon("media-playback-pause"));
+        pauseAct->setText(tr("&Pause"));
+        pauseAct->setStatusTip(tr("Pause playback") + " (" +  pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
+        // stopAct->setEnabled(true);
+        break;
+
+    case Phonon::StoppedState:
+        pauseAct->setEnabled(false);
+        // stopAct->setEnabled(false);
+        break;
+
+    case Phonon::PausedState:
+        pauseAct->setEnabled(true);
+        pauseAct->setIcon(Utils::icon("media-playback-start"));
+        pauseAct->setText(tr("&Play"));
+        pauseAct->setStatusTip(tr("Resume playback") + " (" +  pauseAct->shortcut().toString(QKeySequence::NativeText) + ")");
+        // stopAct->setEnabled(true);
+        break;
+
+    case Phonon::BufferingState:
+    case Phonon::LoadingState:
+        pauseAct->setEnabled(false);
+        currentTime->clear();
+        totalTime->clear();
+        // stopAct->setEnabled(true);
+        break;
+
+    default:
+        ;
+    }
+}
+
+void MainWindow::stop() {
+    mediaView->stop();
+    showHome();
+}
+
+void MainWindow::resizeEvent(QResizeEvent*) {
+#ifdef Q_WS_MAC
+    if (mac::CanGoFullScreen(winId())) {
+        bool isFullscreen = mac::IsFullScreen(winId());
+        if (isFullscreen != m_fullscreen) {
+            if (compactViewAct->isChecked()) {
+                compactViewAct->setChecked(false);
+                compactView(false);
+            }
+            m_fullscreen = isFullscreen;
+            updateUIForFullscreen();
+        }
+    }
+#endif
+}
+
+void MainWindow::fullscreen() {
+
+    if (compactViewAct->isChecked())
+        compactViewAct->toggle();
+
+#ifdef Q_WS_MAC
+    WId handle = winId();
+    if (mac::CanGoFullScreen(handle)) {
+        mainToolBar->setVisible(true);
+        mac::ToggleFullScreen(handle);
+        return;
+    }
+#endif
+
+    m_fullscreen = !m_fullscreen;
+
+    if (m_fullscreen) {
+        // Enter full screen
+
+        m_maximized = isMaximized();
+
+        // save geometry now, if the user quits when in full screen
+        // geometry won't be saved
+        writeSettings();
+
+#ifdef Q_WS_MAC
+        MacSupport::enterFullScreen(this, views);
+#else
+        mainToolBar->hide();
+        showFullScreen();
+#endif
+
+    } else {
+        // Exit full screen
+
+#ifdef Q_WS_MAC
+        MacSupport::exitFullScreen(this, views);
+#else
+        mainToolBar->show();
+        if (m_maximized) showMaximized();
+        else showNormal();
+#endif
+
+        // Make sure the window has focus
+        activateWindow();
+
+    }
+
+    updateUIForFullscreen();
+
+}
+
+void MainWindow::updateUIForFullscreen() {
+    static QList<QKeySequence> fsShortcuts;
+    static QString fsText;
+
+    if (m_fullscreen) {
+        fsShortcuts = fullscreenAct->shortcuts();
+        fsText = fullscreenAct->text();
+        fullscreenAct->setShortcuts(QList<QKeySequence>(fsShortcuts)
+                                    << QKeySequence(Qt::Key_Escape));
+        fullscreenAct->setText(tr("Leave &Full Screen"));
+    } else {
+        fullscreenAct->setShortcuts(fsShortcuts);
+        fullscreenAct->setText(fsText);
+    }
+
+    // No compact view action when in full screen
+    compactViewAct->setVisible(!m_fullscreen);
+    compactViewAct->setChecked(false);
+
+    // Hide anything but the video
+    mediaView->setPlaylistVisible(!m_fullscreen);
+    statusBar()->setVisible(!m_fullscreen);
+
+#ifndef APP_MAC
+    menuBar()->setVisible(!m_fullscreen);
+#endif
+
+    if (m_fullscreen) {
+        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
+    } else {
+        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
+    }
+
+#ifdef Q_WS_MAC
+    MacSupport::fullScreenActions(The::globalActions()->values(), m_fullscreen);
+#endif
+
+    if (views->currentWidget() == mediaView)
+        mediaView->setFocus();
+
+    if (m_fullscreen) {
+        hideMouse();
+    } else {
+        mouseTimer->stop();
+        unsetCursor();
+    }
+}
+
+void MainWindow::compactView(bool enable) {
+
+    static QList<QKeySequence> compactShortcuts;
+    static QList<QKeySequence> stopShortcuts;
+
+    const static QString key = "compactGeometry";
+    QSettings settings;
+
+#ifndef APP_MAC
+    menuBar()->setVisible(!enable);
+#endif
+
+    if (enable) {
+        setMinimumSize(160, 120);
+#ifdef Q_WS_MAC
+        mac::RemoveFullScreenWindow(winId());
+#endif
+        writeSettings();
+
+        if (settings.contains(key))
+            restoreGeometry(settings.value(key).toByteArray());
+        else
+            resize(320, 240);
+
+        mainToolBar->setVisible(!enable);
+        mediaView->setPlaylistVisible(!enable);
+        statusBar()->setVisible(!enable);
+
+        compactShortcuts = compactViewAct->shortcuts();
+        stopShortcuts = stopAct->shortcuts();
+
+        QList<QKeySequence> newStopShortcuts(stopShortcuts);
+        newStopShortcuts.removeAll(QKeySequence(Qt::Key_Escape));
+        stopAct->setShortcuts(newStopShortcuts);
+        compactViewAct->setShortcuts(QList<QKeySequence>(compactShortcuts) << QKeySequence(Qt::Key_Escape));
+
+        // ensure focus does not end up to the search box
+        // as it would steal the Space shortcut
+        mediaView->setFocus();
+
+    } else {
+        // unset minimum size
+        setMinimumSize(0, 0);
+#ifdef Q_WS_MAC
+        mac::SetupFullScreenWindow(winId());
+#endif
+        settings.setValue(key, saveGeometry());
+        mainToolBar->setVisible(!enable);
+        mediaView->setPlaylistVisible(!enable);
+        statusBar()->setVisible(!enable);
+        readSettings();
+
+        compactViewAct->setShortcuts(compactShortcuts);
+        stopAct->setShortcuts(stopShortcuts);
+    }
+
+    // auto float on top
+    floatOnTop(enable);
+}
+
+void MainWindow::searchFocus() {
+    toolbarSearch->selectAll();
+    toolbarSearch->setFocus();
+}
+
+void MainWindow::initPhonon() {
+    // Phonon initialization
+    if (mediaObject) delete mediaObject;
+    if (audioOutput) delete audioOutput;
+    mediaObject = new Phonon::MediaObject(this);
+    mediaObject->setTickInterval(100);
+    connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
+            this, SLOT(stateChanged(Phonon::State, Phonon::State)));
+    connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick(qint64)));
+    connect(mediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
+    seekSlider->setMediaObject(mediaObject);
+    audioOutput = new Phonon::AudioOutput(Phonon::VideoCategory, this);
+    connect(audioOutput, SIGNAL(volumeChanged(qreal)), this, SLOT(volumeChanged(qreal)));
+    connect(audioOutput, SIGNAL(mutedChanged(bool)), this, SLOT(volumeMutedChanged(bool)));
+    volumeSlider->setAudioOutput(audioOutput);
+    Phonon::createPath(mediaObject, audioOutput);
+}
+
+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;
+    }
+
+    currentTime->setText(formatTime(time));
+
+    // remaining time
+    const qint64 remainingTime = mediaObject->remainingTime();
+    currentTime->setStatusTip(tr("Remaining time: %1").arg(formatTime(remainingTime)));
+
+    /*
+    slider->blockSignals(true);
+    slider->setValue(time/1000);
+    slider->blockSignals(false);
+    */
+}
+
+void MainWindow::totalTimeChanged(qint64 time) {
+    if (time <= 0) {
+        totalTime->clear();
+        return;
+    }
+    totalTime->setText(formatTime(time));
+
+    /*
+    slider->blockSignals(true);
+    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;
+}
+
+void MainWindow::volumeUp() {
+    qreal newVolume = volumeSlider->audioOutput()->volume() + .1;
+    if (newVolume > volumeSlider->maximumVolume())
+        newVolume = volumeSlider->maximumVolume();
+    volumeSlider->audioOutput()->setVolume(newVolume);
+}
+
+void MainWindow::volumeDown() {
+    qreal newVolume = volumeSlider->audioOutput()->volume() - .1;
+    if (newVolume < 0)
+        newVolume = 0;
+    volumeSlider->audioOutput()->setVolume(newVolume);
+}
+
+void MainWindow::volumeMute() {
+    volumeSlider->audioOutput()->setMuted(!volumeSlider->audioOutput()->isMuted());
+}
+
+void MainWindow::volumeChanged(qreal newVolume) {
+    // automatically unmute when volume changes
+    if (volumeSlider->audioOutput()->isMuted())
+        volumeSlider->audioOutput()->setMuted(false);
+    statusBar()->showMessage(tr("Volume at %1%").arg((int)(newVolume*100)));
+}
+
+void MainWindow::volumeMutedChanged(bool muted) {
+    if (muted) {
+        volumeMuteAct->setIcon(Utils::icon("audio-volume-muted"));
+        statusBar()->showMessage(tr("Volume is muted"));
+    } else {
+        volumeMuteAct->setIcon(Utils::icon("audio-volume-high"));
+        statusBar()->showMessage(tr("Volume is unmuted"));
+    }
+}
+
+void MainWindow::setDefinitionMode(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());
+    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;
+    }
+    QString nextDefinition = definitionNames.at(nextIndex);
+    setDefinitionMode(nextDefinition);
+}
+
+void MainWindow::showFullscreenToolbar(bool show) {
+    if (!m_fullscreen) return;
+    mainToolBar->setVisible(show);
+}
+
+void MainWindow::showFullscreenPlaylist(bool show) {
+    if (!m_fullscreen) return;
+    mediaView->setPlaylistVisible(show);
+}
+
+void MainWindow::clearRecentKeywords() {
+    QSettings settings;
+    settings.remove("recentKeywords");
+    settings.remove("recentChannels");
+    if (views->currentWidget() == homeView) {
+        SearchView *searchView = homeView->getSearchView();
+        searchView->updateRecentKeywords();
+        searchView->updateRecentChannels();
+    }
+    QAbstractNetworkCache *cache = The::networkAccessManager()->cache();
+    if (cache) cache->clear();
+    showMessage(tr("Your privacy is now safe"));
+}
+
+void MainWindow::setManualPlay(bool enabled) {
+    QSettings settings;
+    settings.setValue("manualplay", QVariant::fromValue(enabled));
+    showActionInStatusBar(The::globalActions()->value("manualplay"), enabled);
+}
+
+void MainWindow::updateDownloadMessage(QString message) {
+    The::globalActions()->value("downloads")->setText(message);
+}
+
+void MainWindow::downloadsFinished() {
+    The::globalActions()->value("downloads")->setText(tr("&Downloads"));
+    statusBar()->showMessage(tr("Downloads complete"));
+}
+
+void MainWindow::toggleDownloads(bool show) {
+
+    if (show) {
+        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_MediaStop));
+        The::globalActions()->value("downloads")->setShortcuts(
+                    QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J)
+                    << QKeySequence(Qt::Key_Escape));
+    } else {
+        The::globalActions()->value("downloads")->setShortcuts(
+                    QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::Key_J));
+        stopAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::Key_Escape) << QKeySequence(Qt::Key_MediaStop));
+    }
+
+    if (!downloadView) {
+        downloadView = new DownloadView(this);
+        views->addWidget(downloadView);
+    }
+    if (show) showWidget(downloadView);
+    else goBack();
+}
+
+void MainWindow::startToolbarSearch(QString query) {
+    query = query.trimmed();
+
+    // check for empty query
+    if (query.length() == 0) {
+        return;
+    }
+
+    SearchParams *searchParams = new SearchParams();
+    searchParams->setKeywords(query);
+
+    // go!
+    showMedia(searchParams);
+}
+
+void MainWindow::dragEnterEvent(QDragEnterEvent *event) {
+    if (event->mimeData()->hasFormat("text/uri-list")) {
+        QList<QUrl> urls = event->mimeData()->urls();
+        if (urls.isEmpty())
+            return;
+        QUrl url = urls.first();
+        QString videoId = YTSearch::videoIdFromUrl(url.toString());
+        if (!videoId.isNull())
+            event->acceptProposedAction();
+    }
+}
+
+void MainWindow::dropEvent(QDropEvent *event) {
+    QList<QUrl> urls = event->mimeData()->urls();
+    if (urls.isEmpty())
+        return;
+    QUrl url = urls.first();
+    QString videoId = YTSearch::videoIdFromUrl(url.toString());
+    if (!videoId.isNull()) {
+        setWindowTitle(url.toString());
+        SearchParams *searchParams = new SearchParams();
+        searchParams->setKeywords(videoId);
+        showMedia(searchParams);
+    }
+}
+
+void MainWindow::checkForUpdate() {
+    static const QString updateCheckKey = "updateCheck";
+
+    // check every 24h
+    QSettings settings;
+    uint unixTime = QDateTime::currentDateTime().toTime_t();
+    int lastCheck = settings.value(updateCheckKey).toInt();
+    int secondsSinceLastCheck = unixTime - lastCheck;
+    // qDebug() << "secondsSinceLastCheck" << unixTime << lastCheck << secondsSinceLastCheck;
+    if (secondsSinceLastCheck < 86400) return;
+
+    // check it out
+    if (updateChecker) delete updateChecker;
+    updateChecker = new UpdateChecker();
+    connect(updateChecker, SIGNAL(newVersion(QString)),
+            this, SLOT(gotNewVersion(QString)));
+    updateChecker->checkForUpdate();
+    settings.setValue(updateCheckKey, unixTime);
+}
+
+void MainWindow::gotNewVersion(QString version) {
+    if (updateChecker) {
+        delete updateChecker;
+        updateChecker = 0;
+    }
+
+    QSettings settings;
+    QString checkedVersion = settings.value("checkedVersion").toString();
+    if (checkedVersion == version) return;
+
+#ifdef APP_SIMPLEUPDATE
+    simpleUpdateDialog(version);
+#elif defined(APP_ACTIVATION) && !defined(APP_MAC)
+    UpdateDialog *dialog = new UpdateDialog(version, this);
+    dialog->show();
+#endif
+}
+
+void MainWindow::simpleUpdateDialog(QString version) {
+    QMessageBox msgBox(this);
+    msgBox.setIconPixmap(
+                QPixmap(":/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);
+    msgBox.setWindowModality(Qt::WindowModal);
+    msgBox.addButton(QMessageBox::Close);
+    QPushButton* laterButton = msgBox.addButton(tr("Remind me later"), QMessageBox::RejectRole);
+    QPushButton* updateButton = msgBox.addButton(tr("Update"), QMessageBox::AcceptRole);
+    msgBox.exec();
+    if (msgBox.clickedButton() != laterButton) {
+        QSettings settings;
+        settings.setValue("checkedVersion", version);
+    }
+    if (msgBox.clickedButton() == updateButton) visitSite();
+}
+
+void MainWindow::floatOnTop(bool onTop) {
+    showActionInStatusBar(The::globalActions()->value("ontop"), onTop);
+#ifdef APP_MAC
+    mac::floatOnTop(winId(), onTop);
+    return;
+#endif
+    if (onTop) {
+        setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
+        show();
+    } else {
+        setWindowFlags(windowFlags() ^ Qt::WindowStaysOnTopHint);
+        show();
+    }
+}
+
+void MainWindow::restore() {
+#ifdef APP_MAC
+    mac::uncloseWindow(window()->winId());
+#endif
+}
+
+void MainWindow::messageReceived(const QString &message) {
+    if (message == QLatin1String("--toggle-playing")) {
+        if (pauseAct->isEnabled()) pauseAct->trigger();
+    } else if (message == QLatin1String("--next")) {
+        if (skipAct->isEnabled()) skipAct->trigger();
+    } else if (message == QLatin1String("--previous")) {
+        if (skipBackwardAct->isEnabled()) skipBackwardAct->trigger();
+    }  else if (message.startsWith("--")) {
+        MainWindow::printHelp();
+    } else if (!message.isEmpty()) {
+        SearchParams *searchParams = new SearchParams();
+        searchParams->setKeywords(message);
+        showMedia(searchParams);
+    }
+}
+
+void MainWindow::hideMouse() {
+    setCursor(Qt::BlankCursor);
+    mediaView->setPlaylistVisible(false);
+#ifndef APP_MAC
+    mainToolBar->setVisible(false);
+#endif
+}
+
+void MainWindow::printHelp() {
+    QString msg = QString("%1 %2\n\n").arg(Constants::NAME, Constants::VERSION);
+    msg += "Usage: minitube [options]\n";
+    msg += "Options:\n";
+    msg += "  --toggle-playing\t";
+    msg += "Start or pause playback.\n";
+    msg += "  --next\t\t";
+    msg += "Skip to the next video.\n";
+    msg += "  --previous\t\t";
+    msg += "Go back to the previous video.\n";
+    std::cout << msg.toLocal8Bit().data();
+}
+
+void MainWindow::showMessage(QString message) {
+    statusBar()->showMessage(message, 60000);
+}
+
+#ifdef APP_ACTIVATION
+void MainWindow::showActivationView(bool transition) {
+    QWidget *activationView = ActivationView::instance();
+    if (views->currentWidget() == activationView) {
+        buy();
+        return;
+    }
+    views->addWidget(activationView);
+    showWidget(activationView, transition);
+}
+
+void MainWindow::showActivationDialog() {
+    QTimer::singleShot(0, new ActivationDialog(this), SLOT(show()));
+}
+
+void MainWindow::buy() {
+    Extra::buy();
+}
+
+void MainWindow::hideBuyAction() {
+    QAction *action = The::globalActions()->value("buy");
+    action->setVisible(false);
+    action->setEnabled(false);
+}
+#endif
+
+void MainWindow::showRegionsView() {
+    if (!regionsView) {
+        regionsView = new RegionsView(this);
+        connect(regionsView, SIGNAL(regionChanged()),
+                homeView->getStandardFeedsView(), SLOT(load()));
+        views->addWidget(regionsView);
+    }
+    showWidget(regionsView);
+}
diff --git a/src/mainwindow.h b/src/mainwindow.h
new file mode 100644 (file)
index 0000000..1602748
--- /dev/null
@@ -0,0 +1,184 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QtGui>
+#include <phonon/audiooutput.h>
+#include <phonon/volumeslider.h>
+#include <phonon/mediaobject.h>
+#include <phonon/seekslider.h>
+#include "view.h"
+
+class HomeView;
+class MediaView;
+class DownloadView;
+class SearchLineEdit;
+class UpdateChecker;
+class SearchParams;
+class VideoSource;
+
+class MainWindow : public QMainWindow {
+
+    Q_OBJECT
+
+public:
+    static MainWindow* instance();
+    MainWindow();
+    ~MainWindow();
+    Phonon::SeekSlider* getSeekSlider() { return seekSlider; }
+    void readSettings();
+    void writeSettings();
+    static void printHelp();
+    MediaView* getMediaView() { return mediaView; }
+    QToolButton* getRegionButton() { return regionButton; }
+    QAction* getRegionAction() { return regionAction; }
+
+public slots:
+    void showHome(bool transition = true);
+    void showMedia(SearchParams *params);
+    void showMedia(VideoSource *videoSource);
+    void showRegionsView();
+    void restore();
+    void messageReceived(const QString &message);
+    void quit();
+    void startToolbarSearch(QString query);
+    void goBack();
+    void showMessage(QString message);
+#ifdef APP_ACTIVATION
+    void showActivationView(bool transition = true);
+    void showActivationDialog();
+    void buy();
+    void hideBuyAction();
+#endif
+
+protected:
+    void changeEvent(QEvent *);
+    void closeEvent(QCloseEvent *);
+    bool eventFilter(QObject *obj, QEvent *event);
+    void dragEnterEvent(QDragEnterEvent *event);
+    void dropEvent(QDropEvent *event);
+    void resizeEvent(QResizeEvent *);
+
+private slots:
+    void checkForUpdate();
+    void gotNewVersion(QString version);
+    void visitSite();
+    void donate();
+    void reportIssue();
+    void about();
+    void fullscreen();
+    void updateUIForFullscreen();
+    void compactView(bool enable);
+    void stop();
+    void stateChanged(Phonon::State newState, Phonon::State oldState);
+    void searchFocus();
+    void tick(qint64 time);
+    void totalTimeChanged(qint64 time);
+    void setDefinitionMode(QString definitionName);
+    void toggleDefinitionMode();
+    void clearRecentKeywords();
+
+    // volume shortcuts
+    void volumeUp();
+    void volumeDown();
+    void volumeMute();
+    void volumeChanged(qreal newVolume);
+    void volumeMutedChanged(bool muted);
+
+    // fullscreen toolbar
+    void showFullscreenToolbar(bool show);
+    void showFullscreenPlaylist(bool show);
+
+    void setManualPlay(bool enabled);
+    void updateDownloadMessage(QString);
+    void downloadsFinished();
+    void toggleDownloads(bool show);
+
+    void floatOnTop(bool);
+    void showActionInStatusBar(QAction*, bool show);
+    void showStopAfterThisInStatusBar(bool show);
+
+    void hideMouse();
+
+private:
+    void initPhonon();
+    void createActions();
+    void createMenus();
+    void createToolBars();
+    void createStatusBar();
+    void showWidget(QWidget*, bool transition = true);
+    static QString formatTime(qint64 time);
+    bool confirmQuit();
+    void simpleUpdateDialog(QString version);
+
+    UpdateChecker *updateChecker;
+
+    // view mechanism
+    QStackedWidget *views;
+    QStack<QWidget*> *history;
+
+    // view widgets
+    HomeView *homeView;
+    MediaView *mediaView;
+    QWidget *aboutView;
+    QWidget *downloadView;
+    QWidget *regionsView;
+
+    // actions
+    QAction *addGadgetAct;
+    QAction *backAct;
+    QAction *quitAct;
+    QAction *siteAct;
+    QAction *donateAct;
+    QAction *aboutAct;
+    QAction *searchFocusAct;
+
+    // media actions
+    QAction *skipBackwardAct;
+    QAction *skipAct;
+    QAction *pauseAct;
+    QAction *stopAct;
+    QAction *fullscreenAct;
+    QAction *compactViewAct;
+    QAction *webPageAct;
+    QAction *copyPageAct;
+    QAction *copyLinkAct;
+    QAction *volumeUpAct;
+    QAction *volumeDownAct;
+    QAction *volumeMuteAct;
+    QAction *findVideoPartsAct;
+
+    // playlist actions
+    QAction *removeAct;
+    QAction *moveDownAct;
+    QAction *moveUpAct;
+    QAction *fetchMoreAct;
+    QAction *clearAct;
+
+    // menus
+    QMenu *fileMenu;
+    QMenu *viewMenu;
+    QMenu *playlistMenu;
+    QMenu *helpMenu;
+
+    // toolbar & statusbar
+    QToolBar *mainToolBar;
+    SearchLineEdit *toolbarSearch;
+    QToolBar *statusToolBar;
+    QToolButton *regionButton;
+    QAction *regionAction;
+
+    // phonon
+    Phonon::SeekSlider *seekSlider;
+    Phonon::VolumeSlider *volumeSlider;
+    Phonon::MediaObject *mediaObject;
+    Phonon::AudioOutput *audioOutput;
+    QLabel *currentTime;
+    QLabel *totalTime;
+
+    // fullscreen
+    bool m_fullscreen;
+    bool m_maximized;
+    QTimer *mouseTimer;
+};
+
+#endif
diff --git a/src/mediaview.cpp b/src/mediaview.cpp
new file mode 100644 (file)
index 0000000..5caf3da
--- /dev/null
@@ -0,0 +1,865 @@
+#include "mediaview.h"
+#include "playlistmodel.h"
+#include "playlistview.h"
+#include "loadingwidget.h"
+#include "videoareawidget.h"
+#include "networkaccess.h"
+#include "videowidget.h"
+#include "minisplitter.h"
+#include "constants.h"
+#include "downloadmanager.h"
+#include "downloaditem.h"
+#include "mainwindow.h"
+#include "temporary.h"
+#include "refinesearchwidget.h"
+#include "sidebarwidget.h"
+#include "sidebarheader.h"
+#ifdef APP_MAC
+#include "macfullscreen.h"
+#include "macutils.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#include "videosource.h"
+#include "ytsearch.h"
+#include "searchparams.h"
+#include "ytsinglevideosource.h"
+
+namespace The {
+NetworkAccess* http();
+QHash<QString, QAction*>* globalActions();
+QMap<QString, QMenu*>* globalMenus();
+QNetworkAccessManager* networkAccessManager();
+}
+
+MediaView* MediaView::instance() {
+    static MediaView *i = new MediaView();
+    return i;
+}
+
+MediaView::MediaView(QWidget *parent) : QWidget(parent) {
+    reallyStopped = false;
+    downloadItem = 0;
+
+    QBoxLayout *layout = new QVBoxLayout(this);
+    layout->setMargin(0);
+
+    splitter = new MiniSplitter();
+    splitter->setChildrenCollapsible(false);
+
+    playlistView = new PlaylistView(this);
+    // respond to the user doubleclicking a playlist item
+    connect(playlistView, SIGNAL(activated(const QModelIndex &)),
+            SLOT(itemActivated(const QModelIndex &)));
+
+    playlistModel = new PlaylistModel();
+    connect(playlistModel, SIGNAL(activeRowChanged(int)),
+            SLOT(activeRowChanged(int)));
+    // needed to restore the selection after dragndrop
+    connect(playlistModel, SIGNAL(needSelectionFor(QList<Video*>)),
+            SLOT(selectVideos(QList<Video*>)));
+    playlistView->setModel(playlistModel);
+
+    connect(playlistView->selectionModel(),
+            SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+            SLOT(selectionChanged(const QItemSelection &, const QItemSelection &)));
+
+    connect(playlistView, SIGNAL(authorPushed(QModelIndex)), SLOT(authorPushed(QModelIndex)));
+
+    sidebar = new SidebarWidget(this);
+    sidebar->setPlaylist(playlistView);
+    connect(sidebar->getRefineSearchWidget(), SIGNAL(searchRefined()),
+            SLOT(searchAgain()));
+    connect(playlistModel, SIGNAL(haveSuggestions(const QStringList &)),
+            sidebar, SLOT(showSuggestions(const QStringList &)));
+    connect(sidebar, SIGNAL(suggestionAccepted(QString)),
+            MainWindow::instance(), SLOT(startToolbarSearch(QString)));
+    splitter->addWidget(sidebar);
+
+    videoAreaWidget = new VideoAreaWidget(this);
+    videoAreaWidget->setMinimumSize(320,240);
+    videoWidget = new Phonon::VideoWidget(this);
+    videoAreaWidget->setVideoWidget(videoWidget);
+    videoAreaWidget->setListModel(playlistModel);
+
+    loadingWidget = new LoadingWidget(this);
+    videoAreaWidget->setLoadingWidget(loadingWidget);
+
+    splitter->addWidget(videoAreaWidget);
+
+    layout->addWidget(splitter);
+
+    splitter->setStretchFactor(0, 1);
+    splitter->setStretchFactor(1, 5);
+
+    // restore splitter state
+    QSettings settings;
+    splitter->restoreState(settings.value("splitter").toByteArray());
+
+    errorTimer = new QTimer(this);
+    errorTimer->setSingleShot(true);
+    errorTimer->setInterval(3000);
+    connect(errorTimer, SIGNAL(timeout()), SLOT(skipVideo()));
+
+#ifdef APP_ACTIVATION
+    demoTimer = new QTimer(this);
+    demoTimer->setSingleShot(true);
+    connect(demoTimer, SIGNAL(timeout()), SLOT(demoMessage()));
+#endif
+
+}
+
+void MediaView::initialize() {
+    connect(videoAreaWidget, SIGNAL(doubleClicked()),
+            The::globalActions()->value("fullscreen"), SLOT(trigger()));
+
+    QAction* refineSearchAction = The::globalActions()->value("refine-search");
+    connect(refineSearchAction, SIGNAL(toggled(bool)),
+            sidebar, SLOT(toggleRefineSearch(bool)));
+}
+
+void MediaView::setMediaObject(Phonon::MediaObject *mediaObject) {
+    this->mediaObject = mediaObject;
+    Phonon::createPath(mediaObject, videoWidget);
+    connect(mediaObject, SIGNAL(finished()), SLOT(playbackFinished()));
+    connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
+            SLOT(stateChanged(Phonon::State, Phonon::State)));
+    connect(mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
+            SLOT(currentSourceChanged(Phonon::MediaSource)));
+    connect(mediaObject, SIGNAL(aboutToFinish()), SLOT(aboutToFinish()));
+}
+
+SearchParams* MediaView::getSearchParams() {
+    VideoSource *videoSource = playlistModel->getVideoSource();
+    if (videoSource && videoSource->metaObject()->className() == QLatin1String("YTSearch")) {
+        YTSearch *search = dynamic_cast<YTSearch *>(videoSource);
+        return search->getSearchParams();
+    }
+    return 0;
+}
+
+void MediaView::search(SearchParams *searchParams) {
+    if (!searchParams->keywords().isEmpty()) {
+        if (searchParams->keywords().startsWith("http://") ||
+                searchParams->keywords().startsWith("https://")) {
+            QString videoId = YTSearch::videoIdFromUrl(searchParams->keywords());
+            if (!videoId.isEmpty()) {
+                YTSingleVideoSource *singleVideoSource = new YTSingleVideoSource(this);
+                singleVideoSource->setVideoId(videoId);
+                setVideoSource(singleVideoSource);
+                return;
+            }
+        }
+    }
+    setVideoSource(new YTSearch(searchParams, this));
+}
+
+void MediaView::setVideoSource(VideoSource *videoSource, bool addToHistory) {
+    reallyStopped = false;
+
+#ifdef APP_ACTIVATION
+    demoTimer->stop();
+#endif
+    errorTimer->stop();
+
+    if (addToHistory) {
+        int currentIndex = getHistoryIndex();
+        if (currentIndex >= 0 && currentIndex < history.size() - 1) {
+            while (history.size() > currentIndex + 1) {
+                VideoSource *vs = history.takeLast();
+                if (!vs->parent()) delete vs;
+            }
+        }
+        history.append(videoSource);
+    }
+
+    playlistModel->setVideoSource(videoSource);
+
+    sidebar->showPlaylist();
+    sidebar->getRefineSearchWidget()->setSearchParams(getSearchParams());
+    sidebar->hideSuggestions();
+    sidebar->getHeader()->updateInfo();
+
+    SearchParams *searchParams = getSearchParams();
+    bool isChannel = searchParams && !searchParams->author().isEmpty();
+    playlistView->setClickableAuthors(!isChannel);
+
+    The::globalActions()->value("related-videos")->setEnabled(true);
+}
+
+void MediaView::searchAgain() {
+    VideoSource *currentVideoSource = playlistModel->getVideoSource();
+    setVideoSource(currentVideoSource, false);
+}
+
+bool MediaView::canGoBack() {
+    return getHistoryIndex() > 0;
+}
+
+void MediaView::goBack() {
+    if (history.size() > 1) {
+        int currentIndex = getHistoryIndex();
+        if (currentIndex > 0) {
+            VideoSource *previousVideoSource = history.at(currentIndex - 1);
+            setVideoSource(previousVideoSource, false);
+        }
+    }
+}
+
+bool MediaView::canGoForward() {
+    int currentIndex = getHistoryIndex();
+    return currentIndex >= 0 && currentIndex < history.size() - 1;
+}
+
+void MediaView::goForward() {
+    if (canGoForward()) {
+        int currentIndex = getHistoryIndex();
+        VideoSource *nextVideoSource = history.at(currentIndex + 1);
+        setVideoSource(nextVideoSource, false);
+    }
+}
+
+int MediaView::getHistoryIndex() {
+    return history.lastIndexOf(playlistModel->getVideoSource());
+}
+
+void MediaView::appear() {
+    playlistView->setFocus();
+}
+
+void MediaView::disappear() {
+
+}
+
+void MediaView::handleError(QString /* message */) {
+    QTimer::singleShot(500, this, SLOT(startPlaying()));
+}
+
+void MediaView::stateChanged(Phonon::State newState, Phonon::State /*oldState*/) {
+    if (newState == Phonon::PlayingState)
+        videoAreaWidget->showVideo();
+    else if (newState == Phonon::ErrorState) {
+        qDebug() << "Phonon error:" << mediaObject->errorString() << mediaObject->errorType();
+        if (mediaObject->errorType() == Phonon::FatalError)
+            handleError(mediaObject->errorString());
+    }
+}
+
+void MediaView::pause() {
+    switch( mediaObject->state() ) {
+    case Phonon::PlayingState:
+        mediaObject->pause();
+        break;
+    default:
+        mediaObject->play();
+        break;
+    }
+}
+
+QRegExp MediaView::wordRE(QString s) {
+    return QRegExp("\\W" + s + "\\W?", Qt::CaseInsensitive);
+}
+
+void MediaView::stop() {
+    playlistModel->abortSearch();
+    reallyStopped = true;
+    mediaObject->stop();
+    videoAreaWidget->clear();
+    errorTimer->stop();
+    playlistView->selectionModel()->clearSelection();
+    if (downloadItem) {
+        downloadItem->stop();
+        delete downloadItem;
+        downloadItem = 0;
+    }
+    The::globalActions()->value("refine-search")->setChecked(false);
+
+    while (!history.isEmpty()) {
+        VideoSource *videoSource = history.takeFirst();
+        if (!videoSource->parent()) delete videoSource;
+    }
+}
+
+Video* MediaView::getCurrentVideo() {
+    Video *currentVideo = 0;
+    if (downloadItem)
+        currentVideo = downloadItem->getVideo();
+    return currentVideo;
+}
+
+void MediaView::activeRowChanged(int row) {
+    if (reallyStopped) return;
+
+    Video *video = playlistModel->videoAt(row);
+    if (!video) return;
+
+    errorTimer->stop();
+
+    videoAreaWidget->showLoading(video);
+
+    mediaObject->stop();
+    if (downloadItem) {
+        downloadItem->stop();
+        delete downloadItem;
+        downloadItem = 0;
+    }
+
+    connect(video, SIGNAL(gotStreamUrl(QUrl)),
+            SLOT(gotStreamUrl(QUrl)), Qt::UniqueConnection);
+    connect(video, SIGNAL(errorStreamUrl(QString)),
+            SLOT(handleError(QString)), Qt::UniqueConnection);
+
+    video->loadStreamUrl();
+
+    // video title in the statusbar
+    MainWindow::instance()->showMessage(video->title());
+
+    // ensure active item is visible
+    if (row != -1) {
+        QModelIndex index = playlistModel->index(row, 0, QModelIndex());
+        playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
+    }
+
+    // enable/disable actions
+    The::globalActions()->value("download")->setEnabled(
+                DownloadManager::instance()->itemForVideo(video) == 0);
+    The::globalActions()->value("skip")->setEnabled(true);
+    The::globalActions()->value("previous")->setEnabled(row > 0);
+    The::globalActions()->value("stopafterthis")->setEnabled(true);
+    The::globalActions()->value("related-videos")->setEnabled(true);
+
+    // see you in gotStreamUrl...
+}
+
+void MediaView::gotStreamUrl(QUrl streamUrl) {
+    if (reallyStopped) return;
+
+    Video *video = static_cast<Video *>(sender());
+    if (!video) {
+        qDebug() << "Cannot get sender in" << __PRETTY_FUNCTION__;
+        return;
+    }
+    video->disconnect(this);
+
+    QString tempFile = Temporary::filename();
+
+    Video *videoCopy = video->clone();
+    if (downloadItem) {
+        downloadItem->stop();
+        delete downloadItem;
+    }
+    downloadItem = new DownloadItem(videoCopy, streamUrl, tempFile, this);
+    connect(downloadItem, SIGNAL(statusChanged()),
+            SLOT(downloadStatusChanged()), Qt::UniqueConnection);
+    // connect(downloadItem, SIGNAL(progress(int)), SLOT(downloadProgress(int)));
+    connect(downloadItem, SIGNAL(bufferProgress(int)),
+            loadingWidget, SLOT(bufferStatus(int)), Qt::UniqueConnection);
+    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
+    connect(video, SIGNAL(errorStreamUrl(QString)),
+            SLOT(handleError(QString)), Qt::UniqueConnection);
+    connect(downloadItem, SIGNAL(error(QString)),
+            SLOT(handleError(QString)), Qt::UniqueConnection);
+    downloadItem->start();
+
+#ifdef Q_WS_MAC
+    if (mac::canNotify())
+        mac::notify(video->title(), video->author(), video->formattedDuration());
+#endif
+}
+
+/*
+void MediaView::downloadProgress(int percent) {
+    MainWindow* mainWindow = dynamic_cast<MainWindow*>(window());
+
+    mainWindow->getSeekSlider()->setStyleSheet(" QSlider::groove:horizontal {"
+        "border: 1px solid #999999;"
+        // "border-left: 50px solid rgba(255, 0, 0, 128);"
+        "height: 8px;"
+        "background: qlineargradient(x1:0, y1:0, x2:.5, y2:0, stop:0 rgba(255, 0, 0, 92), stop:"
+        + QString::number(percent/100.0) +
+
+        " rgba(255, 0, 0, 92), stop:" + QString::number((percent+1)/100.0) + " transparent, stop:1 transparent);"
+        "margin: 2px 0;"
+    "}"
+    "QSlider::handle:horizontal {"
+        "background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:1 #8f8f8f);"
+        "border: 1px solid #5c5c5c;"
+        "width: 16px;"
+        "height: 16px;"
+        "margin: -2px 0;"
+        "border-radius: 8px;"
+    "}"
+
+    );
+}
+
+*/
+
+void MediaView::downloadStatusChanged() {
+    switch(downloadItem->status()) {
+    case Downloading:
+        startPlaying();
+        break;
+    case Starting:
+        // qDebug() << "Starting";
+        break;
+    case Finished:
+        // qDebug() << "Finished" << mediaObject->state();
+        // if (mediaObject->state() == Phonon::StoppedState) startPlaying();
+#ifdef Q_WS_X11
+        MainWindow::instance()->getSeekSlider()->setEnabled(mediaObject->isSeekable());
+#endif
+        break;
+    case Failed:
+        // qDebug() << "Failed";
+    case Idle:
+        // qDebug() << "Idle";
+        break;
+    }
+}
+
+void MediaView::startPlaying() {
+    if (reallyStopped) return;
+    if (!downloadItem) {
+        skip();
+        return;
+    }
+
+    // go!
+    QString source = downloadItem->currentFilename();
+    qDebug() << "Playing" << source;
+    mediaObject->setCurrentSource(source);
+    mediaObject->play();
+#ifdef Q_WS_X11
+    MainWindow::instance()->getSeekSlider()->setEnabled(false);
+#endif
+
+    // ensure we always have 10 videos ahead
+    playlistModel->searchNeeded();
+
+    // ensure active item is visible
+    int row = playlistModel->activeRow();
+    if (row != -1) {
+        QModelIndex index = playlistModel->index(row, 0, QModelIndex());
+        playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
+    }
+
+#ifdef APP_ACTIVATION
+    if (!Activation::instance().isActivated())
+        demoTimer->start(180000);
+#endif
+
+}
+
+void MediaView::itemActivated(const QModelIndex &index) {
+    if (playlistModel->rowExists(index.row())) {
+
+        // if it's the current video, just rewind and play
+        Video *activeVideo = playlistModel->activeVideo();
+        Video *video = playlistModel->videoAt(index.row());
+        if (activeVideo && video && activeVideo == video) {
+            mediaObject->seek(0);
+            mediaObject->play();
+        } else playlistModel->setActiveRow(index.row());
+
+        // the user doubleclicked on the "Search More" item
+    } else {
+        playlistModel->searchMore();
+        playlistView->selectionModel()->clearSelection();
+    }
+}
+
+void MediaView::currentSourceChanged(const Phonon::MediaSource /* source */ ) {
+
+}
+
+void MediaView::skipVideo() {
+    // skippedVideo is useful for DELAYED skip operations
+    // in order to be sure that we're skipping the video we wanted
+    // and not another one
+    if (skippedVideo) {
+        if (playlistModel->activeVideo() != skippedVideo) {
+            qDebug() << "Skip of video canceled";
+            return;
+        }
+        int nextRow = playlistModel->rowForVideo(skippedVideo);
+        nextRow++;
+        if (nextRow == -1) return;
+        playlistModel->setActiveRow(nextRow);
+    }
+}
+
+void MediaView::skip() {
+    int nextRow = playlistModel->nextRow();
+    if (nextRow == -1) return;
+    playlistModel->setActiveRow(nextRow);
+}
+
+void MediaView::skipBackward() {
+    int prevRow = playlistModel->previousRow();
+    if (prevRow == -1) return;
+    playlistModel->setActiveRow(prevRow);
+}
+
+void MediaView::aboutToFinish() {
+    qint64 currentTime = mediaObject->currentTime();
+    qDebug() << __PRETTY_FUNCTION__ << currentTime;
+    if (currentTime + 10000 < mediaObject->totalTime()) {
+        // mediaObject->seek(mediaObject->currentTime());
+        // QTimer::singleShot(500, this, SLOT(playbackResume()));
+        mediaObject->seek(currentTime);
+        mediaObject->play();
+    }
+}
+
+void MediaView::playbackFinished() {
+    const int totalTime = mediaObject->totalTime();
+    const int currentTime = mediaObject->currentTime();
+    qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime() << totalTime;
+    // add 10 secs for imprecise Phonon backends (VLC, Xine)
+    if (currentTime > 0 && currentTime + 10000 < totalTime) {
+        // mediaObject->seek(currentTime);
+        QTimer::singleShot(500, this, SLOT(playbackResume()));
+    } else {
+        QAction* stopAfterThisAction = The::globalActions()->value("stopafterthis");
+        if (stopAfterThisAction->isChecked()) {
+            stopAfterThisAction->setChecked(false);
+        } else skip();
+    }
+}
+
+void MediaView::playbackResume() {
+    qDebug() << __PRETTY_FUNCTION__ << mediaObject->currentTime();
+    mediaObject->seek(mediaObject->currentTime());
+    mediaObject->play();
+}
+
+void MediaView::openWebPage() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    mediaObject->pause();
+    QDesktopServices::openUrl(video->webpage());
+}
+
+void MediaView::copyWebPage() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    QString address = video->webpage().toString();
+    QApplication::clipboard()->setText(address);
+    QString message = tr("You can now paste the YouTube link into another application");
+    MainWindow::instance()->showMessage(message);
+}
+
+void MediaView::copyVideoLink() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    QApplication::clipboard()->setText(video->getStreamUrl().toEncoded());
+    QString message = tr("You can now paste the video stream URL into another application")
+            + ". " + tr("The link will be valid only for a limited time.");
+    MainWindow::instance()->showMessage(message);
+}
+
+void MediaView::removeSelected() {
+    if (!playlistView->selectionModel()->hasSelection()) return;
+    QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
+    playlistModel->removeIndexes(indexes);
+}
+
+void MediaView::selectVideos(QList<Video*> videos) {
+    foreach (Video *video, videos) {
+        QModelIndex index = playlistModel->indexForVideo(video);
+        playlistView->selectionModel()->select(index, QItemSelectionModel::Select);
+        playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
+    }
+}
+
+void MediaView::selectionChanged(const QItemSelection & /*selected*/, const QItemSelection & /*deselected*/) {
+    const bool gotSelection = playlistView->selectionModel()->hasSelection();
+    The::globalActions()->value("remove")->setEnabled(gotSelection);
+    The::globalActions()->value("moveUp")->setEnabled(gotSelection);
+    The::globalActions()->value("moveDown")->setEnabled(gotSelection);
+}
+
+void MediaView::moveUpSelected() {
+    if (!playlistView->selectionModel()->hasSelection()) return;
+
+    QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
+    qStableSort(indexes.begin(), indexes.end());
+    playlistModel->move(indexes, true);
+
+    // set current index after row moves to something more intuitive
+    int row = indexes.first().row();
+    playlistView->selectionModel()->setCurrentIndex(playlistModel->index(row>1?row:1), QItemSelectionModel::NoUpdate);
+}
+
+void MediaView::moveDownSelected() {
+    if (!playlistView->selectionModel()->hasSelection()) return;
+
+    QModelIndexList indexes = playlistView->selectionModel()->selectedIndexes();
+    qStableSort(indexes.begin(), indexes.end(), qGreater<QModelIndex>());
+    playlistModel->move(indexes, false);
+
+    // set current index after row moves to something more intuitive (respect 1 static item on bottom)
+    int row = indexes.first().row()+1, max = playlistModel->rowCount() - 2;
+    playlistView->selectionModel()->setCurrentIndex(playlistModel->index(row>max?max:row), QItemSelectionModel::NoUpdate);
+}
+
+void MediaView::setPlaylistVisible(bool visible) {
+    if (splitter->widget(0)->isVisible() == visible) return;
+    splitter->widget(0)->setVisible(visible);
+    playlistView->setFocus();
+}
+
+bool MediaView::isPlaylistVisible() {
+    return splitter->widget(0)->isVisible();
+}
+
+void MediaView::saveSplitterState() {
+    QSettings settings;
+    settings.setValue("splitter", splitter->saveState());
+}
+
+#ifdef APP_ACTIVATION
+
+static QPushButton *continueButton;
+
+void MediaView::demoMessage() {
+    if (mediaObject->state() != Phonon::PlayingState) return;
+    mediaObject->pause();
+
+    QMessageBox msgBox(this);
+    msgBox.setIconPixmap(QPixmap(":/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);
+    // make it a "sheet" on the Mac
+    msgBox.setWindowModality(Qt::WindowModal);
+
+    continueButton = msgBox.addButton("5", QMessageBox::RejectRole);
+    continueButton->setEnabled(false);
+    QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
+
+    QTimeLine *timeLine = new QTimeLine(6000, this);
+    timeLine->setCurveShape(QTimeLine::LinearCurve);
+    timeLine->setFrameRange(5, 0);
+    connect(timeLine, SIGNAL(frameChanged(int)), SLOT(updateContinueButton(int)));
+    timeLine->start();
+
+    msgBox.exec();
+
+    if (msgBox.clickedButton() == buyButton) {
+        MainWindow::instance()->showActivationView();
+    } else {
+        mediaObject->play();
+        demoTimer->start(600000);
+    }
+
+    delete timeLine;
+
+}
+
+void MediaView::updateContinueButton(int value) {
+    if (value == 0) {
+        continueButton->setText(tr("Continue"));
+        continueButton->setEnabled(true);
+    } else {
+        continueButton->setText(QString::number(value));
+    }
+}
+
+#endif
+
+void MediaView::downloadVideo() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    DownloadManager::instance()->addItem(video);
+    The::globalActions()->value("downloads")->setVisible(true);
+    QString message = tr("Downloading %1").arg(video->title());
+    MainWindow::instance()->showMessage(message);
+}
+
+void MediaView::snapshot() {
+    QImage image = videoWidget->snapshot();
+    qDebug() << image.size();
+
+    const QPixmap& pixmap = QPixmap::grabWindow(videoWidget->winId());
+    // qDebug() << pixmap.size();
+    videoAreaWidget->showSnapshotPreview(pixmap);
+}
+
+void MediaView::fullscreen() {
+    videoAreaWidget->setParent(0);
+    videoAreaWidget->showFullScreen();
+}
+
+/*
+void MediaView::setSlider(QSlider *slider) {
+    this->slider = slider;
+    // slider->setEnabled(false);
+    slider->setTracking(false);
+    // connect(slider, SIGNAL(valueChanged(int)), SLOT(sliderMoved(int)));
+}
+
+void MediaView::sliderMoved(int value) {
+    qDebug() << __func__;
+    int sliderPercent = (value * 100) / (slider->maximum() - slider->minimum());
+    qDebug() << slider->minimum() << value << slider->maximum();
+    if (sliderPercent <= downloadItem->currentPercent()) {
+        qDebug() << sliderPercent << downloadItem->currentPercent();
+        mediaObject->seek(value);
+    } else {
+        seekTo(value);
+    }
+}
+
+void MediaView::seekTo(int value) {
+    qDebug() << __func__;
+    mediaObject->pause();
+    errorTimer->stop();
+    // mediaObject->clear();
+
+    QString tempDir = QDesktopServices::storageLocation(QDesktopServices::TempLocation);
+    QString tempFile = tempDir + "/minitube" + QString::number(value) + ".mp4";
+    if (!QFile::remove(tempFile)) {
+        qDebug() << "Cannot remove temp file";
+    }
+    Video *videoCopy = downloadItem->getVideo()->clone();
+    QUrl streamUrl = videoCopy->getStreamUrl();
+    streamUrl.addQueryItem("begin", QString::number(value));
+    if (downloadItem) delete downloadItem;
+    downloadItem = new DownloadItem(videoCopy, streamUrl, tempFile, this);
+    connect(downloadItem, SIGNAL(statusChanged()), SLOT(downloadStatusChanged()));
+    // connect(downloadItem, SIGNAL(finished()), SLOT(itemFinished()));
+    downloadItem->start();
+
+    // slider->setMinimum(value);
+
+}
+
+*/
+
+void MediaView::findVideoParts() {
+
+    // parts
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+
+    QString query = video->title();
+
+    static QString optionalSpace = "\\s*";
+    static QString staticCounterSeparators = "[\\/\\-]";
+    QString counterSeparators = "( of | " +
+            tr("of", "Used in video parts, as in '2 of 3'") +
+            " |" + staticCounterSeparators + ")";
+
+    // numbers from 1 to 15
+    static QString counterNumber = "([1-9]|1[0-5])";
+
+    // query.remove(QRegExp(counterSeparators + optionalSpace + counterNumber));
+    query.remove(QRegExp(counterNumber + optionalSpace + counterSeparators + optionalSpace + counterNumber));
+    query.remove(wordRE("pr?t\\.?" + optionalSpace + counterNumber));
+    query.remove(wordRE("ep\\.?" + optionalSpace + counterNumber));
+    query.remove(wordRE("part" + optionalSpace + counterNumber));
+    query.remove(wordRE("episode" + optionalSpace + counterNumber));
+    query.remove(wordRE(tr("part", "This is for video parts, as in 'Cool video - part 1'") +
+                        optionalSpace + counterNumber));
+    query.remove(wordRE(tr("episode", "This is for video parts, as in 'Cool series - episode 1'") +
+                        optionalSpace + counterNumber));
+    query.remove(QRegExp("[\\(\\)\\[\\]]"));
+
+#define NUMBERS "one|two|three|four|five|six|seven|eight|nine|ten"
+
+    QRegExp englishNumberRE = QRegExp(QLatin1String(".*(") + NUMBERS + ").*", Qt::CaseInsensitive);
+    // bool numberAsWords = englishNumberRE.exactMatch(query);
+    query.remove(englishNumberRE);
+
+    QRegExp localizedNumberRE = QRegExp(QLatin1String(".*(") + tr(NUMBERS) + ").*", Qt::CaseInsensitive);
+    // if (!numberAsWords) numberAsWords = localizedNumberRE.exactMatch(query);
+    query.remove(localizedNumberRE);
+
+    SearchParams *searchParams = new SearchParams();
+    searchParams->setTransient(true);
+    searchParams->setKeywords(query);
+    searchParams->setAuthor(video->author());
+
+    /*
+    if (!numberAsWords) {
+        qDebug() << "We don't have number as words";
+        // searchParams->setSortBy(SearchParams::SortByNewest);
+        // TODO searchParams->setReverseOrder(true);
+        // TODO searchParams->setMax(50);
+    }
+    */
+
+    search(searchParams);
+
+}
+
+void MediaView::relatedVideos() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    YTSingleVideoSource *singleVideoSource = new YTSingleVideoSource();
+    singleVideoSource->setVideoId(video->id());
+    setVideoSource(singleVideoSource);
+    The::globalActions()->value("related-videos")->setEnabled(false);
+}
+
+void MediaView::shareViaTwitter() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    QUrl url("https://twitter.com/intent/tweet");
+    url.addQueryItem("via", "minitubeapp");
+    url.addQueryItem("text", video->title());
+    url.addQueryItem("url", video->webpage().toString());
+    QDesktopServices::openUrl(url);
+}
+
+void MediaView::shareViaFacebook() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    QUrl url("https://www.facebook.com/sharer.php");
+    url.addQueryItem("t", video->title());
+    url.addQueryItem("u", video->webpage().toString());
+    QDesktopServices::openUrl(url);
+}
+
+void MediaView::shareViaBuffer() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    QUrl url("http://bufferapp.com/add");
+    url.addQueryItem("via", "minitubeapp");
+    url.addQueryItem("text", video->title());
+    url.addQueryItem("url", video->webpage().toString());
+    url.addQueryItem("picture", video->thumbnailUrl());
+    QDesktopServices::openUrl(url);
+}
+
+void MediaView::shareViaEmail() {
+    Video* video = playlistModel->activeVideo();
+    if (!video) return;
+    QUrl url("mailto:");
+    url.addQueryItem("subject", video->title());
+    QString body = video->title() + "\n" +
+            video->webpage().toString() + "\n\n" +
+            tr("Sent from %1").arg(Constants::NAME) + "\n" +
+            Constants::WEBSITE;
+    url.addQueryItem("body", body);
+    QDesktopServices::openUrl(url);
+}
+
+void MediaView::authorPushed(QModelIndex index) {
+    Video* video = playlistModel->videoAt(index.row());
+    if (!video) return;
+
+    QString channel = video->authorUri();
+    if (channel.isEmpty()) channel = video->author();
+    if (channel.isEmpty()) return;
+
+    SearchParams *searchParams = new SearchParams();
+    searchParams->setAuthor(channel);
+    searchParams->setSortBy(SearchParams::SortByNewest);
+
+    // go!
+    search(searchParams);
+}
diff --git a/src/mediaview.h b/src/mediaview.h
new file mode 100644 (file)
index 0000000..8277707
--- /dev/null
@@ -0,0 +1,130 @@
+#ifndef __MEDIAVIEW_H__
+#define __MEDIAVIEW_H__
+
+#include <QtGui>
+#include <QtNetwork>
+#include <phonon/mediaobject.h>
+#include <phonon/videowidget.h>
+#include <phonon/seekslider.h>
+#include "view.h"
+
+class Video;
+class PlaylistModel;
+class SearchParams;
+class LoadingWidget;
+class VideoAreaWidget;
+class DownloadItem;
+class PlaylistView;
+class SidebarWidget;
+class VideoSource;
+
+namespace The {
+    QHash<QString, QAction*>* globalActions();
+}
+
+class MediaView : public QWidget, public View {
+
+    Q_OBJECT
+
+public:
+    static MediaView* instance();
+    void initialize();
+
+    void appear();
+    void disappear();
+
+    void setMediaObject(Phonon::MediaObject *mediaObject);
+    const QList<VideoSource*> & getHistory() { return history; }
+    int getHistoryIndex();
+    PlaylistModel* getPlaylistModel() { return playlistModel; }
+    Video* getCurrentVideo();
+
+public slots:
+    void search(SearchParams *searchParams);
+    void setVideoSource(VideoSource *videoSource, bool addToHistory = true);
+    void pause();
+    void stop();
+    void skip();
+    void skipBackward();
+    void skipVideo();
+    void openWebPage();
+    void copyWebPage();
+    void copyVideoLink();
+    void shareViaTwitter();
+    void shareViaFacebook();
+    void shareViaBuffer();
+    void shareViaEmail();
+    void removeSelected();
+    void moveUpSelected();
+    void moveDownSelected();
+    bool isPlaylistVisible();
+    void setPlaylistVisible(bool visible=true);
+    void saveSplitterState();
+    void downloadVideo();
+    void snapshot();
+    void fullscreen();
+    void findVideoParts();
+    void relatedVideos();
+    bool canGoBack();
+    void goBack();
+    bool canGoForward();
+    void goForward();
+
+private slots:
+    // list/model
+    void itemActivated(const QModelIndex &index);
+    void selectionChanged (const QItemSelection & selected, const QItemSelection & deselected);
+    void activeRowChanged(int);
+    void selectVideos(QList<Video*> videos);
+    void gotStreamUrl(QUrl streamUrl);
+    void handleError(QString message);
+    // phonon
+    void stateChanged(Phonon::State newState, Phonon::State oldState);
+    void currentSourceChanged(const Phonon::MediaSource source);
+    void aboutToFinish();
+#ifdef APP_ACTIVATION
+    void demoMessage();
+    void updateContinueButton(int);
+#endif
+    void startPlaying();
+    void downloadStatusChanged();
+    void playbackFinished();
+    void playbackResume();
+    void authorPushed(QModelIndex);
+    void searchAgain();
+
+    /*
+    void downloadProgress(int percent);
+    void sliderMoved(int value);
+    void seekTo(int value);
+    */
+
+private:
+    MediaView(QWidget *parent = 0);
+    SearchParams* getSearchParams();
+    static QRegExp wordRE(QString s);
+
+    QSplitter *splitter;
+    SidebarWidget *sidebar;
+    PlaylistView *playlistView;
+    PlaylistModel *playlistModel;
+    VideoAreaWidget *videoAreaWidget;
+    LoadingWidget *loadingWidget;
+
+    // phonon
+    Phonon::MediaObject *mediaObject;
+    Phonon::VideoWidget *videoWidget;
+
+    bool reallyStopped;
+    QTimer *errorTimer;
+    Video *skippedVideo;
+
+#ifdef APP_ACTIVATION
+    QTimer *demoTimer;
+#endif
+
+    DownloadItem *downloadItem;
+    QList<VideoSource*> history;
+};
+
+#endif // __MEDIAVIEW_H__
index 7083da0a3e62e46399ce052d8f66381a38935435..4ed98b7688eb37b1fb50b11991d806617a05a382 100644 (file)
@@ -3,7 +3,7 @@
 #include <QtGui>
 
 namespace The {
-    NetworkAccess* http();
+NetworkAccess* http();
 }
 
 /*
@@ -12,61 +12,56 @@ const QString USER_AGENT = QString(Constants::NAME)
                            + " (" + Constants::WEBSITE + ")";
 */
 
-const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5";
+const QString USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11";
 
-NetworkReply::NetworkReply(QNetworkReply *networkReply) : QObject(networkReply) {
-    this->networkReply = networkReply;
+NetworkReply::NetworkReply(QNetworkReply *networkReply) :
+    QObject(networkReply),
+    networkReply(networkReply),
+    retryCount(0) {
 
-    // monitor downloadProgress to impl timeout
-    connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
-            SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
+    setupReply();
 
     readTimeoutTimer = new QTimer(this);
-    readTimeoutTimer->setInterval(5000);
+    readTimeoutTimer->setInterval(10000);
     readTimeoutTimer->setSingleShot(true);
-    connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()));
+    connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()), Qt::UniqueConnection);
     readTimeoutTimer->start();
 }
 
-void NetworkReply::finished() {
-    // qDebug() << "Finished" << networkReply->url();
+void NetworkReply::setupReply() {
+    connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
+            SLOT(requestError(QNetworkReply::NetworkError)), Qt::UniqueConnection);
+    connect(networkReply, SIGNAL(finished()),
+            SLOT(finished()), Qt::UniqueConnection);
+    connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
+            SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
+}
 
-    QUrl redirection = networkReply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
+void NetworkReply::finished() {
+    QUrl redirection = networkReply->attribute(
+                QNetworkRequest::RedirectionTargetAttribute).toUrl();
     if (redirection.isValid()) {
-
-        // qDebug() << "Redirect!"; // << redirection;
-
-        QNetworkReply *redirectReply = The::http()->simpleGet(redirection, networkReply->operation());
-
-        setParent(redirectReply);
-        networkReply->deleteLater();
-        networkReply = redirectReply;
-
-        // when the request is finished we'll invoke the target method
-        connect(networkReply, SIGNAL(finished()), this, SLOT(finished()), Qt::UniqueConnection);
-
-        // monitor downloadProgress to impl timeout
-        connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
-                SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
-        readTimeoutTimer->start();
-
-        // error signal
-        connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
-                SLOT(requestError(QNetworkReply::NetworkError)), Qt::UniqueConnection);
-
-        connect(readTimeoutTimer, SIGNAL(timeout()), SLOT(readTimeout()), Qt::UniqueConnection);
-        readTimeoutTimer->start();
-
-        return;
+        if (networkReply->operation() == QNetworkAccessManager::GetOperation
+                || networkReply->operation() == QNetworkAccessManager::HeadOperation) {
+            QNetworkReply *redirectReply =
+                    The::http()->request(redirection, networkReply->operation());
+            setParent(redirectReply);
+            networkReply->deleteLater();
+            networkReply = redirectReply;
+            setupReply();
+            readTimeoutTimer->start();
+            return;
+        } else qWarning() << "Redirection not supported" << networkReply->url().toEncoded();
     }
 
-    emit data(networkReply->readAll());
-    emit finished(networkReply);
+    if (receivers(SIGNAL(data(QByteArray))) > 0)
+        emit data(networkReply->readAll());
+    else if (receivers(SIGNAL(finished(QNetworkReply*))) > 0)
+        emit finished(networkReply);
 
 #ifndef QT_NO_DEBUG_OUTPUT
-    if (!networkReply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool()) {
+    if (!networkReply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool())
         qDebug() << networkReply->url().toEncoded();
-    }
 #endif
 
     // bye bye my reply
@@ -74,13 +69,15 @@ void NetworkReply::finished() {
     networkReply->deleteLater();
 }
 
-void NetworkReply::requestError(QNetworkReply::NetworkError /* code */) {
+void NetworkReply::requestError(QNetworkReply::NetworkError code) {
+    qDebug() << networkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()
+             << networkReply->errorString() << code;
     emit error(networkReply);
 }
 
-void NetworkReply::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) {
+void NetworkReply::downloadProgress(qint64 bytesReceived, qint64 /* bytesTotal */) {
     // qDebug() << "Downloading" << bytesReceived << bytesTotal << networkReply->url();
-    if (bytesReceived > 0) {
+    if (bytesReceived > 0 && readTimeoutTimer->isActive()) {
         readTimeoutTimer->stop();
         disconnect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
                    this, SLOT(downloadProgress(qint64,qint64)));
@@ -88,130 +85,92 @@ void NetworkReply::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) {
 }
 
 void NetworkReply::readTimeout() {
-    // qDebug() << "HTTP read timeout" << networkReply->url();
     networkReply->disconnect();
     networkReply->abort();
+    networkReply->deleteLater();
 
-    QNetworkReply *retryReply = The::http()->simpleGet(networkReply->url(), networkReply->operation());
+    if (networkReply->operation() != QNetworkAccessManager::GetOperation
+            || networkReply->operation() != QNetworkAccessManager::HeadOperation) {
+        emit error(networkReply);
+        return;
+    }
 
+    if (retryCount > 3) {
+        emit error(networkReply);
+        return;
+    }
+    QNetworkReply *retryReply = The::http()->request(networkReply->url(), networkReply->operation());
     setParent(retryReply);
-    networkReply->deleteLater();
     networkReply = retryReply;
-
-    // when the request is finished we'll invoke the target method
-    connect(networkReply, SIGNAL(finished()), this, SLOT(finished()), Qt::UniqueConnection);
-
-    // monitor downloadProgress to impl timeout
-    connect(networkReply, SIGNAL(downloadProgress(qint64,qint64)),
-            SLOT(downloadProgress(qint64,qint64)), Qt::UniqueConnection);
+    setupReply();
+    retryCount++;
     readTimeoutTimer->start();
-
-    // error signal
-    connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
-            SLOT(requestError(QNetworkReply::NetworkError)));
-
-    // emit error(networkReply);
 }
 
 /* --- NetworkAccess --- */
 
 NetworkAccess::NetworkAccess( QObject* parent) : QObject( parent ) {}
 
-QNetworkReply* NetworkAccess::manualGet(QNetworkRequest request, int operation) {
+QNetworkRequest NetworkAccess::buildRequest(QUrl url) {
+    QNetworkRequest request(url);
+    request.setRawHeader("User-Agent", USER_AGENT.toUtf8());
+    request.setRawHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
+    request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
+    request.setRawHeader("Accept-Language", "en-us,en;q=0.5");
+    request.setRawHeader("Connection", "Keep-Alive");
+    return request;
+}
 
+QNetworkReply* NetworkAccess::request(QUrl url, int operation, const QByteArray& body) {
     QNetworkAccessManager *manager = The::networkAccessManager();
-    // manager->setCookieJar(new QNetworkCookieJar());
+
+    QNetworkRequest request = buildRequest(url);
 
     QNetworkReply *networkReply;
     switch (operation) {
 
     case QNetworkAccessManager::GetOperation:
-        // qDebug() << "GET" << request.url().toEncoded();
         networkReply = manager->get(request);
         break;
 
     case QNetworkAccessManager::HeadOperation:
-        // qDebug() << "HEAD" << request.url().toEncoded();
         networkReply = manager->head(request);
         break;
 
+    case QNetworkAccessManager::PostOperation:
+        if (!body.isEmpty())
+            request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
+        networkReply = manager->post(request, body);
+        break;
+
     default:
-        qDebug() << "Unknown operation:" << operation;
+        qWarning() << "Unknown operation:" << operation;
         return 0;
-
     }
 
-    // error handling
-    connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
-            this, SLOT(error(QNetworkReply::NetworkError)));
-
     return networkReply;
 }
 
-QNetworkRequest NetworkAccess::buildRequest(QUrl url) {
-    QNetworkRequest request(url);
-    request.setRawHeader("User-Agent", USER_AGENT.toUtf8());
-    request.setRawHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
-    request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
-    request.setRawHeader("Accept-Language", "en-us,en;q=0.5");
-    request.setRawHeader("Connection", "Keep-Alive");
-    return request;
-}
-
-QNetworkReply* NetworkAccess::simpleGet(QUrl url, int operation) {
-    return manualGet(buildRequest(url), operation);
-}
-
 NetworkReply* NetworkAccess::get(const QUrl url) {
-
-    QNetworkReply *networkReply = simpleGet(url);
-    NetworkReply *reply = new NetworkReply(networkReply);
-
-    // error signal
-    connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
-            reply, SLOT(requestError(QNetworkReply::NetworkError)));
-
-    // when the request is finished we'll invoke the target method
-    connect(networkReply, SIGNAL(finished()), reply, SLOT(finished()), Qt::UniqueConnection);
-
-    return reply;
-
+    QNetworkReply *networkReply = request(url);
+    return new NetworkReply(networkReply);
 }
 
 NetworkReply* NetworkAccess::head(const QUrl url) {
-
-    QNetworkReply *networkReply = simpleGet(url, QNetworkAccessManager::HeadOperation);
-    NetworkReply *reply = new NetworkReply(networkReply);
-
-    // error signal
-    connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
-            reply, SLOT(requestError(QNetworkReply::NetworkError)));
-
-    // when the request is finished we'll invoke the target method
-    connect(networkReply, SIGNAL(finished()), reply, SLOT(finished()), Qt::UniqueConnection);
-
-    return reply;
-
+    QNetworkReply *networkReply = request(url, QNetworkAccessManager::HeadOperation);
+    return new NetworkReply(networkReply);
 }
 
-void NetworkAccess::error(QNetworkReply::NetworkError code) {
-    // get the QNetworkReply that sent the signal
-    QNetworkReply *networkReply = static_cast<QNetworkReply *>(sender());
-    if (!networkReply) {
-        qDebug() << "Cannot get sender";
-        return;
+NetworkReply* NetworkAccess::post(const QUrl url, const QMap<QString, QString>& params) {
+    QByteArray body;
+    QMapIterator<QString, QString> i(params);
+    while (i.hasNext()) {
+        i.next();
+        body += QUrl::toPercentEncoding(i.key())
+                + '='
+                + QUrl::toPercentEncoding(i.value())
+                + '&';
     }
-
-    networkReply->deleteLater();
-
-    // Ignore HEADs
-    if (networkReply->operation() == QNetworkAccessManager::HeadOperation)
-        return;
-
-    // report the error in the status bar
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(qApp->topLevelWidgets().first());
-    if (mainWindow) mainWindow->statusBar()->showMessage(
-            tr("Network error: %1").arg(networkReply->errorString()));
-
-    qDebug() << "Network error:" << networkReply->errorString() << code;
+    QNetworkReply *networkReply = request(url, QNetworkAccessManager::PostOperation, body);
+    return new NetworkReply(networkReply);
 }
index 1a05d91d38c2520bf2d857ce28746fe6bd32bb4d..a595ac725a411fe828a5e38eb220c5eb1c7f43cd 100644 (file)
@@ -14,21 +14,24 @@ class NetworkReply : public QObject {
 
 public:
     NetworkReply(QNetworkReply* networkReply);
-
-public slots:
-    void finished();
-    void requestError(QNetworkReply::NetworkError);
-    void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
-    void readTimeout();
+    QNetworkReply* getNetworkReply() { return networkReply; }
 
 signals:
     void data(QByteArray);
     void error(QNetworkReply*);
     void finished(QNetworkReply*);
 
+private slots:
+    void finished();
+    void requestError(QNetworkReply::NetworkError);
+    void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
+    void readTimeout();
+
 private:
+    void setupReply();
     QNetworkReply *networkReply;
     QTimer *readTimeoutTimer;
+    int retryCount;
 
 };
 
@@ -37,15 +40,16 @@ class NetworkAccess : public QObject {
     Q_OBJECT
 
 public:
-    NetworkAccess( QObject* parent=0);
-    QNetworkReply* manualGet(QNetworkRequest request, int operation = QNetworkAccessManager::GetOperation);
-    QNetworkRequest buildRequest(QUrl url);
-    QNetworkReply* simpleGet(QUrl url, int operation = QNetworkAccessManager::GetOperation);
+    NetworkAccess(QObject* parent = 0);
+    QNetworkReply* request(QUrl url,
+                             int operation = QNetworkAccessManager::GetOperation,
+                             const QByteArray &body = QByteArray());
     NetworkReply* get(QUrl url);
     NetworkReply* head(QUrl url);
+    NetworkReply* post(QUrl url, const QMap<QString, QString>& params);
 
-private slots:
-    void error(QNetworkReply::NetworkError);
+private:
+    QNetworkRequest buildRequest(QUrl url);
 
 };
 
diff --git a/src/playlist/PrettyItemDelegate.cpp b/src/playlist/PrettyItemDelegate.cpp
deleted file mode 100644 (file)
index 846650f..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-#include "PrettyItemDelegate.h"
-#include "../ListModel.h"
-#include "../fontutils.h"
-#include "../downloaditem.h"
-#include "../iconloader/qticonloader.h"
-#include "../videodefinition.h"
-
-#include <QFontMetricsF>
-#include <QPainter>
-#include <QHash>
-
-const qreal PrettyItemDelegate::THUMB_HEIGHT = 90.0;
-const qreal PrettyItemDelegate::THUMB_WIDTH = 120.0;
-const qreal PrettyItemDelegate::PADDING = 10.0;
-
-QRect lastAuthorRect;
-QHash<int, QRect> authorRects;
-
-PrettyItemDelegate::PrettyItemDelegate(QObject* parent, bool downloadInfo)
-    : QStyledItemDelegate(parent),
-    downloadInfo(downloadInfo) {
-    boldFont.setBold(true);
-    smallerBoldFont = FontUtils::smallBold();
-    smallerFont = FontUtils::small();
-
-    if (downloadInfo) {
-        progressBar = new QProgressBar(qApp->activeWindow());
-        QPalette palette = progressBar->palette();
-        palette.setColor(QPalette::Window, Qt::transparent);
-        progressBar->setPalette(palette);
-        progressBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
-        progressBar->hide();
-    } else createPlayIcon();
-}
-
-void PrettyItemDelegate::createPlayIcon() {
-    playIcon = QPixmap(THUMB_WIDTH, THUMB_HEIGHT);
-    playIcon.fill(Qt::transparent);
-    QPainter painter(&playIcon);
-    QPolygon polygon;
-    polygon << QPoint(PADDING*4, PADDING*2)
-            << QPoint(THUMB_WIDTH-PADDING*4, THUMB_HEIGHT/2)
-            << QPoint(PADDING*4, THUMB_HEIGHT-PADDING*2);
-    painter.setRenderHints(QPainter::Antialiasing, true);
-    painter.setBrush(Qt::white);
-    QPen pen;
-    pen.setColor(Qt::white);
-    pen.setWidth(PADDING);
-    pen.setJoinStyle(Qt::RoundJoin);
-    pen.setCapStyle(Qt::RoundCap);
-    painter.setPen(pen);
-    painter.drawPolygon(polygon);
-}
-
-PrettyItemDelegate::~PrettyItemDelegate() { }
-
-QSize PrettyItemDelegate::sizeHint( const QStyleOptionViewItem& /*option*/, const QModelIndex& /*index*/ ) const {
-    return QSize( 256, THUMB_HEIGHT+1.0);
-}
-
-void PrettyItemDelegate::paint( QPainter* painter,
-                                const QStyleOptionViewItem& option, const QModelIndex& index ) const {
-
-    int itemType = index.data(ItemTypeRole).toInt();
-    if (itemType == ItemTypeVideo) {
-        QStyleOptionViewItemV4 opt = QStyleOptionViewItemV4(option);
-        initStyleOption(&opt, index);
-        opt.text = "";
-        opt.widget->style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
-        paintBody(painter, opt, index);
-    } else
-        QStyledItemDelegate::paint( painter, option, index );
-
-}
-
-void PrettyItemDelegate::paintBody( QPainter* painter,
-                                    const QStyleOptionViewItem& option,
-                                    const QModelIndex& index ) const {
-
-    painter->save();
-    painter->translate( option.rect.topLeft() );
-
-
-    QRectF line(0, 0, option.rect.width(), option.rect.height());
-    if (downloadInfo) line.setWidth(line.width() / 2);
-    painter->setClipRect(line);
-
-    const bool isActive = index.data( ActiveTrackRole ).toBool();
-    const bool isSelected = option.state & QStyle::State_Selected;
-
-    // draw the "current track" highlight underneath the text
-    if (isActive && !isSelected) {
-        paintActiveOverlay(painter, line.x(), line.y(), line.width(), line.height());
-    }
-
-    // get the video metadata
-    const VideoPointer videoPointer = index.data( VideoRole ).value<VideoPointer>();
-    const Video *video = videoPointer.data();
-
-    // thumb
-    if (!video->thumbnail().isNull()) {
-        painter->drawImage(QRect(0, 0, THUMB_WIDTH, THUMB_HEIGHT), video->thumbnail());
-
-        // play icon overlayed on the thumb
-        if (isActive)
-            paintPlayIcon(painter);
-
-        // time
-        QString timeString;
-        int duration = video->duration();
-        if ( duration > 3600 )
-            timeString = QTime().addSecs(duration).toString("h:mm:ss");
-        else
-            timeString = QTime().addSecs(duration).toString("m:ss");
-        drawTime(painter, timeString, line);
-
-    }
-
-    if (isActive) painter->setFont(boldFont);
-
-    // text color
-    if (isSelected)
-        painter->setPen(QPen(option.palette.brush(QPalette::HighlightedText), 0));
-    else
-        painter->setPen(QPen(option.palette.brush(QPalette::Text), 0));
-
-    // title
-    QString videoTitle = video->title();
-    QRectF textBox = line.adjusted(PADDING+THUMB_WIDTH, PADDING, -2 * PADDING, -PADDING);
-    textBox = painter->boundingRect( textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, videoTitle);
-    painter->drawText(textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, videoTitle);
-
-    painter->setFont(smallerFont);
-
-    // published date
-    QString publishedString = video->published().date().toString(Qt::DefaultLocaleShortDate);
-    QSizeF stringSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, publishedString ) );
-    QPointF textLoc(PADDING+THUMB_WIDTH, PADDING*2 + textBox.height());
-    QRectF publishedTextBox(textLoc , stringSize);
-    painter->drawText(publishedTextBox, Qt::AlignLeft | Qt::AlignTop, publishedString);
-
-    // 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->setPen(QPen(option.palette.brush(QPalette::Mid), 0));
-    }
-    QString authorString = video->author();
-    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-    stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, authorString ) );
-    QRectF authorTextBox(textLoc , stringSize);
-    authorRects.insert(index.row(), authorTextBox.toRect());
-    painter->drawText(authorTextBox, Qt::AlignLeft | Qt::AlignTop, authorString);
-    painter->restore();
-
-    // view count
-    if (video->viewCount() >= 0) {
-        painter->save();
-        QLocale locale;
-        QString viewCountString = tr("%1 views").arg(locale.toString(video->viewCount()));
-        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-        stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, viewCountString ) );
-        QRectF viewCountTextBox(textLoc , stringSize);
-        painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, viewCountString);
-        painter->restore();
-    }
-
-    if (downloadInfo) {
-        painter->save();
-        QString definitionString = VideoDefinition::getDefinitionName(video->getDefinitionCode());
-        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
-        stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, definitionString ) );
-        QRectF viewCountTextBox(textLoc , stringSize);
-        painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, definitionString);
-        painter->restore();
-    }
-
-    /*
-    QLinearGradient myGradient;
-    QPen myPen;
-    QFont myFont;
-    QPointF baseline(authorTextBox.x(), authorTextBox.y() + authorTextBox.height());
-    QPainterPath myPath;
-    myPath.addText(baseline, boldFont, authorString);
-    painter->setBrush(palette.color(QPalette::WindowText));
-    painter->setPen(palette.color(QPalette::Dark));
-    painter->setRenderHints (QPainter::Antialiasing, true);
-    painter->drawPath(myPath);
-    */
-
-    // separator
-    painter->setClipping(false);
-    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);
-
-    painter->restore();
-
-    if (downloadInfo) paintDownloadInfo(painter, option, index);
-
-}
-
-void PrettyItemDelegate::paintActiveOverlay( QPainter *painter, qreal x, qreal y, qreal w, qreal h ) const {
-
-    QPalette palette;
-    QColor highlightColor = palette.color(QPalette::Highlight);
-    QColor backgroundColor = palette.color(QPalette::Base);
-    const float animation = 0.25;
-    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)
-            );
-    QRect rect((int) x, (int) y, (int) w, (int) h);
-    painter->save();
-    painter->setPen(Qt::NoPen);
-    QLinearGradient linearGradient(0, 0, 0, rect.height());
-    linearGradient.setColorAt(0.0, color1);
-    linearGradient.setColorAt(1.0, color2);
-    painter->setBrush(linearGradient);
-    painter->drawRect(rect);
-    painter->restore();
-}
-
-void PrettyItemDelegate::paintPlayIcon(QPainter *painter) const {
-    painter->save();
-    painter->setOpacity(.5);
-    painter->drawPixmap(playIcon.rect(), playIcon);
-    painter->restore();
-}
-
-void PrettyItemDelegate::drawTime(QPainter *painter, QString time, QRectF line) const {
-    static const int timePadding = 4;
-    QRectF textBox = painter->boundingRect(line, Qt::AlignLeft | Qt::AlignTop, time);
-    // add padding
-    textBox.adjust(0, 0, timePadding, 0);
-    // move to bottom right corner of the thumb
-    textBox.translate(THUMB_WIDTH - textBox.width(), THUMB_HEIGHT - textBox.height());
-
-    painter->save();
-    painter->setPen(Qt::NoPen);
-    painter->setBrush(Qt::black);
-    painter->setOpacity(.5);
-    painter->drawRect(textBox);
-    painter->restore();
-
-    painter->save();
-    painter->setPen(Qt::white);
-    painter->drawText(textBox, Qt::AlignCenter, time);
-    painter->restore();
-}
-
-void PrettyItemDelegate::paintDownloadInfo( QPainter* painter,
-                                            const QStyleOptionViewItem& option,
-                                            const QModelIndex& index ) const {
-
-    // get the video metadata
-    const DownloadItemPointer downloadItemPointer = index.data(DownloadItemRole).value<DownloadItemPointer>();
-    const DownloadItem *downloadItem = downloadItemPointer.data();
-
-    painter->save();
-
-    const QRect line(0, 0, option.rect.width() / 2, option.rect.height());
-
-    painter->translate(option.rect.topLeft());
-    painter->translate(line.width(), 0);
-
-    QString message;
-    DownloadItemStatus status = downloadItem->status();
-
-    if (status == Downloading) {
-        QString downloaded = DownloadItem::formattedFilesize(downloadItem->bytesReceived());
-        QString total = DownloadItem::formattedFilesize(downloadItem->bytesTotal());
-        QString speed = DownloadItem::formattedSpeed(downloadItem->currentSpeed());
-        QString eta = DownloadItem::formattedTime(downloadItem->remainingTime());
-
-        message = tr("%1 of %2 (%3) — %4").arg(
-                downloaded,
-                total,
-                speed,
-                eta
-                );
-    } else if (status == Starting) {
-        message = tr("Preparing");
-    } else if (status == Failed) {
-        message = tr("Failed") + " — " + downloadItem->errorMessage();
-    } else if (status == Finished) {
-        message = tr("Completed");
-    } else if (status == Idle) {
-        message = tr("Stopped");
-    }
-
-    // progressBar->setPalette(option.palette);
-    if (status == Finished) {
-        progressBar->setValue(100);
-        progressBar->setEnabled(true);
-    } else if (status == Downloading) {
-        progressBar->setValue(downloadItem->currentPercent());
-        progressBar->setEnabled(true);
-    } else {
-        progressBar->setValue(0);
-        progressBar->setEnabled(false);
-    }
-
-    int progressBarWidth = line.width() - PADDING*4 - 16;
-    progressBar->setMaximumWidth(progressBarWidth);
-    progressBar->setMinimumWidth(progressBarWidth);
-    painter->save();
-    painter->translate(PADDING, PADDING);
-    progressBar->render(painter);
-    painter->restore();
-
-    bool downloadButtonHovered = false;
-    bool downloadButtonPressed = false;
-    const bool isHovered = index.data(HoveredItemRole).toBool();
-    if (isHovered) {
-        downloadButtonHovered = index.data(DownloadButtonHoveredRole).toBool();
-        downloadButtonPressed = index.data(DownloadButtonPressedRole).toBool();
-    }
-    QIcon::Mode iconMode;
-    if (downloadButtonPressed) iconMode = QIcon::Selected;
-    else if (downloadButtonHovered) iconMode = QIcon::Active;
-    else iconMode = QIcon::Normal;
-
-    if (status != Finished && status != Failed && status != Idle) {
-        if (downloadButtonHovered) message = tr("Stop downloading");
-        painter->save();
-        QIcon closeIcon = QtIconLoader::icon("window-close");
-        painter->drawPixmap(downloadButtonRect(line), closeIcon.pixmap(16, 16, iconMode));
-        painter->restore();
-    }
-
-    else if (status == Finished) {
-        if (downloadButtonHovered)
-#ifdef APP_MAC
-        message = tr("Show in %1").arg("Finder");
-#else
-        message = tr("Open parent folder");
-#endif
-        painter->save();
-        QIcon searchIcon = QtIconLoader::icon("system-search");
-        painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
-        painter->restore();
-    }
-
-    else if (status == Failed || status == Idle) {
-        if (downloadButtonHovered) message = tr("Restart downloading");
-        painter->save();
-        QIcon searchIcon = QtIconLoader::icon("view-refresh");
-        painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
-        painter->restore();
-    }
-
-    QRectF textBox = line.adjusted(PADDING, PADDING*2 + progressBar->sizeHint().height(), -2 * PADDING, -PADDING);
-    textBox = painter->boundingRect( textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message);
-    painter->drawText(textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message);
-
-    painter->restore();
-
-}
-
-QRect PrettyItemDelegate::downloadButtonRect(QRect line) const {
-    return QRect(
-            line.width() - PADDING*2 - 16,
-            PADDING + progressBar->sizeHint().height() / 2 - 8,
-            16,
-            16);
-}
-
-QRect PrettyItemDelegate::authorRect(const QModelIndex& index) const {
-    return authorRects.value(index.row());
-}
diff --git a/src/playlist/PrettyItemDelegate.h b/src/playlist/PrettyItemDelegate.h
deleted file mode 100644 (file)
index 8934f57..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef PRETTYITEMDELEGATE_H
-#define PRETTYITEMDELEGATE_H
-
-#include <QModelIndex>
-#include <QStyledItemDelegate>
-
-class QPainter;
-class QProgressBar;
-
-class PrettyItemDelegate : public QStyledItemDelegate {
-
-    Q_OBJECT
-
-public:
-    PrettyItemDelegate(QObject* parent, bool downloadInfo = false);
-    ~PrettyItemDelegate();
-
-    QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const;
-    void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
-    QRect downloadButtonRect(QRect line) const;
-    QRect authorRect(const QModelIndex& index) const;
-
-private:
-    void createPlayIcon();
-    void paintBody( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
-    void paintDownloadInfo( QPainter* painter,
-                                        const QStyleOptionViewItem& option,
-                                        const QModelIndex& index ) const;
-
-    // active track painting
-    void paintActiveOverlay( QPainter *painter, qreal x, qreal y, qreal w, qreal h ) const;
-    void paintPlayIcon(QPainter *painter) const;
-
-    //  Paints the video duration
-    void drawTime(QPainter *painter, QString time, QRectF line) const;
-
-    static const qreal THUMB_WIDTH;
-    static const qreal THUMB_HEIGHT;
-    static const qreal PADDING;
-
-    QPixmap playIcon;
-    QFont boldFont;
-    QFont smallerFont;
-    QFont smallerBoldFont;
-
-    bool downloadInfo;
-    QProgressBar *progressBar;
-
-};
-
-#endif
diff --git a/src/playlistitemdelegate.cpp b/src/playlistitemdelegate.cpp
new file mode 100644 (file)
index 0000000..79b2304
--- /dev/null
@@ -0,0 +1,382 @@
+#include "playlistitemdelegate.h"
+#include "playlistmodel.h"
+#include "fontutils.h"
+#include "downloaditem.h"
+#include "utils.h"
+#include "videodefinition.h"
+#include "video.h"
+
+const qreal PlaylistItemDelegate::THUMB_HEIGHT = 90.0;
+const qreal PlaylistItemDelegate::THUMB_WIDTH = 160.0;
+const qreal PlaylistItemDelegate::PADDING = 10.0;
+
+QRect lastAuthorRect;
+QHash<int, QRect> authorRects;
+
+PlaylistItemDelegate::PlaylistItemDelegate(QObject* parent, bool downloadInfo)
+    : QStyledItemDelegate(parent),
+    downloadInfo(downloadInfo) {
+    boldFont.setBold(true);
+    smallerBoldFont = FontUtils::smallBold();
+    smallerFont = FontUtils::small();
+
+    if (downloadInfo) {
+        progressBar = new QProgressBar(qApp->activeWindow());
+        QPalette palette = progressBar->palette();
+        palette.setColor(QPalette::Window, Qt::transparent);
+        progressBar->setPalette(palette);
+        progressBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
+        progressBar->hide();
+    } else createPlayIcon();
+}
+
+void PlaylistItemDelegate::createPlayIcon() {
+    playIcon = QPixmap(THUMB_WIDTH, THUMB_HEIGHT);
+    playIcon.fill(Qt::transparent);
+    QPainter painter(&playIcon);
+    QPolygon polygon;
+    const int hPadding = PADDING*6;
+    const int vPadding = PADDING*2;
+    polygon << QPoint(hPadding, vPadding)
+            << QPoint(THUMB_WIDTH-hPadding, THUMB_HEIGHT/2)
+            << QPoint(hPadding, THUMB_HEIGHT-vPadding);
+    painter.setRenderHints(QPainter::Antialiasing, true);
+    painter.setBrush(Qt::white);
+    QPen pen;
+    pen.setColor(Qt::white);
+    pen.setWidth(PADDING);
+    pen.setJoinStyle(Qt::RoundJoin);
+    pen.setCapStyle(Qt::RoundCap);
+    painter.setPen(pen);
+    painter.drawPolygon(polygon);
+}
+
+PlaylistItemDelegate::~PlaylistItemDelegate() { }
+
+QSize PlaylistItemDelegate::sizeHint( const QStyleOptionViewItem& /*option*/, const QModelIndex& /*index*/ ) const {
+    return QSize( 256, THUMB_HEIGHT+1.0);
+}
+
+void PlaylistItemDelegate::paint( QPainter* painter,
+                                const QStyleOptionViewItem& option, const QModelIndex& index ) const {
+
+    int itemType = index.data(ItemTypeRole).toInt();
+    if (itemType == ItemTypeVideo) {
+        QStyleOptionViewItemV4 opt = QStyleOptionViewItemV4(option);
+        initStyleOption(&opt, index);
+        opt.text = "";
+        opt.widget->style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
+        paintBody(painter, opt, index);
+    } else
+        QStyledItemDelegate::paint( painter, option, index );
+
+}
+
+void PlaylistItemDelegate::paintBody( QPainter* painter,
+                                    const QStyleOptionViewItem& option,
+                                    const QModelIndex& index ) const {
+
+    painter->save();
+    painter->translate( option.rect.topLeft() );
+
+
+    QRectF line(0, 0, option.rect.width(), option.rect.height());
+    if (downloadInfo) line.setWidth(line.width() / 2);
+    painter->setClipRect(line);
+
+    const bool isActive = index.data( ActiveTrackRole ).toBool();
+    const bool isSelected = option.state & QStyle::State_Selected;
+
+    // draw the "current track" highlight underneath the text
+    if (isActive && !isSelected) {
+        paintActiveOverlay(painter, line.x(), line.y(), line.width(), line.height());
+    }
+
+    // get the video metadata
+    const VideoPointer videoPointer = index.data( VideoRole ).value<VideoPointer>();
+    const Video *video = videoPointer.data();
+
+    // thumb
+    painter->drawPixmap(0, 0, video->thumbnail());
+
+    // play icon overlayed on the thumb
+    if (isActive)
+        paintPlayIcon(painter);
+
+    // time
+    drawTime(painter, video->formattedDuration(), line);
+
+    if (isActive) painter->setFont(boldFont);
+
+    // text color
+    if (isSelected)
+        painter->setPen(QPen(option.palette.brush(QPalette::HighlightedText), 0));
+    else
+        painter->setPen(QPen(option.palette.brush(QPalette::Text), 0));
+
+    // title
+    QString videoTitle = video->title();
+    QRectF textBox = line.adjusted(PADDING+THUMB_WIDTH, PADDING, -2 * PADDING, -PADDING);
+    textBox = painter->boundingRect( textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, videoTitle);
+    painter->drawText(textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, videoTitle);
+
+    painter->setFont(smallerFont);
+
+    // published date
+    QString publishedString = video->published().date().toString(Qt::DefaultLocaleShortDate);
+    QSizeF stringSize(QFontMetrics(painter->font()).size( Qt::TextSingleLine, publishedString ) );
+    QPointF textLoc(PADDING+THUMB_WIDTH, PADDING*2 + textBox.height());
+    QRectF publishedTextBox(textLoc , stringSize);
+    painter->drawText(publishedTextBox, Qt::AlignLeft | Qt::AlignTop, publishedString);
+
+    // 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->setPen(QPen(option.palette.brush(QPalette::Mid), 0));
+    }
+    QString authorString = video->author();
+    textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+    stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, authorString ) );
+    QRectF authorTextBox(textLoc , stringSize);
+    authorRects.insert(index.row(), authorTextBox.toRect());
+    painter->drawText(authorTextBox, Qt::AlignLeft | Qt::AlignTop, authorString);
+    painter->restore();
+
+    // view count
+    if (video->viewCount() >= 0) {
+        painter->save();
+        QLocale locale;
+        QString viewCountString = tr("%1 views").arg(locale.toString(video->viewCount()));
+        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+        stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, viewCountString ) );
+        QRectF viewCountTextBox(textLoc , stringSize);
+        painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, viewCountString);
+        painter->restore();
+    }
+
+    if (downloadInfo) {
+        painter->save();
+        QString definitionString = VideoDefinition::getDefinitionName(video->getDefinitionCode());
+        textLoc.setX(textLoc.x() + stringSize.width() + PADDING);
+        stringSize = QSizeF(QFontMetrics(painter->font()).size( Qt::TextSingleLine, definitionString ) );
+        QRectF viewCountTextBox(textLoc , stringSize);
+        painter->drawText(viewCountTextBox, Qt::AlignLeft | Qt::AlignBottom, definitionString);
+        painter->restore();
+    }
+
+    /*
+    QLinearGradient myGradient;
+    QPen myPen;
+    QFont myFont;
+    QPointF baseline(authorTextBox.x(), authorTextBox.y() + authorTextBox.height());
+    QPainterPath myPath;
+    myPath.addText(baseline, boldFont, authorString);
+    painter->setBrush(palette.color(QPalette::WindowText));
+    painter->setPen(palette.color(QPalette::Dark));
+    painter->setRenderHints (QPainter::Antialiasing, true);
+    painter->drawPath(myPath);
+    */
+
+    // separator
+    painter->setClipping(false);
+    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);
+
+    painter->restore();
+
+    if (downloadInfo) paintDownloadInfo(painter, option, index);
+
+}
+
+void PlaylistItemDelegate::paintActiveOverlay( QPainter *painter, qreal x, qreal y, qreal w, qreal h ) const {
+
+    QPalette palette;
+    QColor highlightColor = palette.color(QPalette::Highlight);
+    QColor backgroundColor = palette.color(QPalette::Base);
+    const float animation = 0.25;
+    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)
+            );
+    QRect rect((int) x, (int) y, (int) w, (int) h);
+    painter->save();
+    painter->setPen(Qt::NoPen);
+    QLinearGradient linearGradient(0, 0, 0, rect.height());
+    linearGradient.setColorAt(0.0, color1);
+    linearGradient.setColorAt(1.0, color2);
+    painter->setBrush(linearGradient);
+    painter->drawRect(rect);
+    painter->restore();
+}
+
+void PlaylistItemDelegate::paintPlayIcon(QPainter *painter) const {
+    painter->save();
+    painter->setOpacity(.5);
+    painter->drawPixmap(playIcon.rect(), playIcon);
+    painter->restore();
+}
+
+void PlaylistItemDelegate::drawTime(QPainter *painter, QString time, QRectF line) const {
+    static const int timePadding = 4;
+    QRectF textBox = painter->boundingRect(line, Qt::AlignLeft | Qt::AlignTop, time);
+    // add padding
+    textBox.adjust(0, 0, timePadding, 0);
+    // move to bottom right corner of the thumb
+    textBox.translate(THUMB_WIDTH - textBox.width(), THUMB_HEIGHT - textBox.height());
+
+    painter->save();
+    painter->setPen(Qt::NoPen);
+    painter->setBrush(Qt::black);
+    painter->setOpacity(.5);
+    painter->drawRect(textBox);
+    painter->restore();
+
+    painter->save();
+    painter->setPen(Qt::white);
+    painter->drawText(textBox, Qt::AlignCenter, time);
+    painter->restore();
+}
+
+void PlaylistItemDelegate::paintDownloadInfo( QPainter* painter,
+                                            const QStyleOptionViewItem& option,
+                                            const QModelIndex& index ) const {
+
+    // get the video metadata
+    const DownloadItemPointer downloadItemPointer = index.data(DownloadItemRole).value<DownloadItemPointer>();
+    const DownloadItem *downloadItem = downloadItemPointer.data();
+
+    painter->save();
+
+    const QRect line(0, 0, option.rect.width() / 2, option.rect.height());
+
+    painter->translate(option.rect.topLeft());
+    painter->translate(line.width(), 0);
+
+    QString message;
+    DownloadItemStatus status = downloadItem->status();
+
+    if (status == Downloading) {
+        QString downloaded = DownloadItem::formattedFilesize(downloadItem->bytesReceived());
+        QString total = DownloadItem::formattedFilesize(downloadItem->bytesTotal());
+        QString speed = DownloadItem::formattedSpeed(downloadItem->currentSpeed());
+        QString eta = DownloadItem::formattedTime(downloadItem->remainingTime());
+
+        message = tr("%1 of %2 (%3) — %4").arg(
+                downloaded,
+                total,
+                speed,
+                eta
+                );
+    } else if (status == Starting) {
+        message = tr("Preparing");
+    } else if (status == Failed) {
+        message = tr("Failed") + " — " + downloadItem->errorMessage();
+    } else if (status == Finished) {
+        message = tr("Completed");
+    } else if (status == Idle) {
+        message = tr("Stopped");
+    }
+
+    // progressBar->setPalette(option.palette);
+    if (status == Finished) {
+        progressBar->setValue(100);
+        progressBar->setEnabled(true);
+    } else if (status == Downloading) {
+        progressBar->setValue(downloadItem->currentPercent());
+        progressBar->setEnabled(true);
+    } else {
+        progressBar->setValue(0);
+        progressBar->setEnabled(false);
+    }
+
+    int progressBarWidth = line.width() - PADDING*4 - 16;
+    progressBar->setMaximumWidth(progressBarWidth);
+    progressBar->setMinimumWidth(progressBarWidth);
+    painter->save();
+    painter->translate(PADDING, PADDING);
+    progressBar->render(painter);
+    painter->restore();
+
+    bool downloadButtonHovered = false;
+    bool downloadButtonPressed = false;
+    const bool isHovered = index.data(HoveredItemRole).toBool();
+    if (isHovered) {
+        downloadButtonHovered = index.data(DownloadButtonHoveredRole).toBool();
+        downloadButtonPressed = index.data(DownloadButtonPressedRole).toBool();
+    }
+    QIcon::Mode iconMode;
+    if (downloadButtonPressed) iconMode = QIcon::Selected;
+    else if (downloadButtonHovered) iconMode = QIcon::Active;
+    else iconMode = QIcon::Normal;
+
+    if (status != Finished && status != Failed && status != Idle) {
+        if (downloadButtonHovered) message = tr("Stop downloading");
+        painter->save();
+        QIcon closeIcon = Utils::icon("window-close");
+        painter->drawPixmap(downloadButtonRect(line), closeIcon.pixmap(16, 16, iconMode));
+        painter->restore();
+    }
+
+    else if (status == Finished) {
+        if (downloadButtonHovered)
+#ifdef APP_MAC
+        message = tr("Show in %1").arg("Finder");
+#else
+        message = tr("Open parent folder");
+#endif
+        painter->save();
+        QIcon searchIcon = Utils::icon("system-search");
+        painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
+        painter->restore();
+    }
+
+    else if (status == Failed || status == Idle) {
+        if (downloadButtonHovered) message = tr("Restart downloading");
+        painter->save();
+        QIcon searchIcon = Utils::icon("view-refresh");
+        painter->drawPixmap(downloadButtonRect(line), searchIcon.pixmap(16, 16, iconMode));
+        painter->restore();
+    }
+
+    QRectF textBox = line.adjusted(PADDING, PADDING*2 + progressBar->sizeHint().height(), -2 * PADDING, -PADDING);
+    textBox = painter->boundingRect( textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message);
+    painter->drawText(textBox, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, message);
+
+    painter->restore();
+
+}
+
+QRect PlaylistItemDelegate::downloadButtonRect(QRect line) const {
+    return QRect(
+            line.width() - PADDING*2 - 16,
+            PADDING + progressBar->sizeHint().height() / 2 - 8,
+            16,
+            16);
+}
+
+QRect PlaylistItemDelegate::authorRect(const QModelIndex& index) const {
+    return authorRects.value(index.row());
+}
diff --git a/src/playlistitemdelegate.h b/src/playlistitemdelegate.h
new file mode 100644 (file)
index 0000000..5a7b2b3
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef PLAYLISTITEMDELEGATE_H
+#define PLAYLISTITEMDELEGATE_H
+
+#include <QtGui>
+
+class PlaylistItemDelegate : public QStyledItemDelegate {
+
+    Q_OBJECT
+
+public:
+    PlaylistItemDelegate(QObject* parent, bool downloadInfo = false);
+    ~PlaylistItemDelegate();
+
+    QSize sizeHint( const QStyleOptionViewItem&, const QModelIndex& ) const;
+    void paint( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
+    QRect downloadButtonRect(QRect line) const;
+    QRect authorRect(const QModelIndex& index) const;
+
+private:
+    void createPlayIcon();
+    void paintBody( QPainter*, const QStyleOptionViewItem&, const QModelIndex& ) const;
+    void paintDownloadInfo( QPainter* painter,
+                                        const QStyleOptionViewItem& option,
+                                        const QModelIndex& index ) const;
+
+    // active track painting
+    void paintActiveOverlay( QPainter *painter, qreal x, qreal y, qreal w, qreal h ) const;
+    void paintPlayIcon(QPainter *painter) const;
+
+    //  Paints the video duration
+    void drawTime(QPainter *painter, QString time, QRectF line) const;
+
+    static const qreal THUMB_WIDTH;
+    static const qreal THUMB_HEIGHT;
+    static const qreal PADDING;
+
+    QPixmap playIcon;
+    QFont boldFont;
+    QFont smallerFont;
+    QFont smallerBoldFont;
+
+    bool downloadInfo;
+    QProgressBar *progressBar;
+
+};
+
+#endif
diff --git a/src/playlistmodel.cpp b/src/playlistmodel.cpp
new file mode 100644 (file)
index 0000000..e14fbd2
--- /dev/null
@@ -0,0 +1,514 @@
+#include "playlistmodel.h"
+#include "videomimedata.h"
+#include "videosource.h"
+#include "ytsearch.h"
+#include "video.h"
+#include "searchparams.h"
+#include "mediaview.h"
+
+static const int maxItems = 10;
+static const QString recentKeywordsKey = "recentKeywords";
+static const QString recentChannelsKey = "recentChannels";
+
+PlaylistModel::PlaylistModel(QWidget *parent) : QAbstractListModel(parent) {
+    videoSource = 0;
+    searching = false;
+    canSearchMore = true;
+    firstSearch = false;
+    m_activeVideo = 0;
+    m_activeRow = -1;
+    skip = 1;
+    max = 0;
+    hoveredRow = -1;
+    authorHovered = false;
+    authorPressed = false;
+}
+
+int PlaylistModel::rowCount(const QModelIndex &/*parent*/) const {
+    int count = videos.size();
+    
+    // add the message item
+    if (videos.isEmpty() || !searching)
+        count++;
+    
+    return count;
+}
+
+QVariant PlaylistModel::data(const QModelIndex &index, int role) const {
+    
+    int row = index.row();
+    
+    if (row == videos.size()) {
+        
+        QPalette palette;
+        QFont boldFont;
+        boldFont.setBold(true);
+        
+        switch (role) {
+        case ItemTypeRole:
+            return ItemTypeShowMore;
+        case Qt::DisplayRole:
+        case Qt::StatusTipRole:
+            if (!errorMessage.isEmpty()) return errorMessage;
+            if (searching) return tr("Searching...");
+            if (canSearchMore) return tr("Show %1 More").arg(maxItems);
+            if (videos.isEmpty()) return tr("No videos");
+            else return tr("No more videos");
+        case Qt::TextAlignmentRole:
+            return QVariant(int(Qt::AlignHCenter | Qt::AlignVCenter));
+        case Qt::ForegroundRole:
+            if (!errorMessage.isEmpty())
+                return palette.color(QPalette::ToolTipText);
+            else
+                return palette.color(QPalette::Dark);
+        case Qt::BackgroundColorRole:
+            if (!errorMessage.isEmpty())
+                return palette.color(QPalette::ToolTipBase);
+            else
+                return QVariant();
+        case Qt::FontRole:
+            return boldFont;
+        default:
+            return QVariant();
+        }
+        
+    } else if (row < 0 || row >= videos.size())
+        return QVariant();
+    
+    Video *video = videos.at(row);
+    
+    switch (role) {
+    case ItemTypeRole:
+        return ItemTypeVideo;
+    case VideoRole:
+        return QVariant::fromValue(QPointer<Video>(video));
+    case ActiveTrackRole:
+        return video == m_activeVideo;
+    case Qt::DisplayRole:
+        return video->title();
+    case HoveredItemRole:
+        return hoveredRow == index.row();
+    case AuthorHoveredRole:
+        return authorHovered;
+    case AuthorPressedRole:
+        return authorPressed;
+    }
+    
+    return QVariant();
+}
+
+void PlaylistModel::setActiveRow(int row, bool notify) {
+    if ( rowExists( row ) ) {
+        
+        m_activeRow = row;
+        m_activeVideo = videoAt(row);
+        
+        int oldactiverow = m_activeRow;
+        
+        if ( rowExists( oldactiverow ) )
+            emit dataChanged( createIndex( oldactiverow, 0 ), createIndex( oldactiverow, columnCount() - 1 ) );
+        
+        emit dataChanged( createIndex( m_activeRow, 0 ), createIndex( m_activeRow, columnCount() - 1 ) );
+        if (notify) emit activeRowChanged(row);
+        
+    } else {
+        m_activeRow = -1;
+        m_activeVideo = 0;
+    }
+
+}
+
+int PlaylistModel::nextRow() const {
+    int nextRow = m_activeRow + 1;
+    if (rowExists(nextRow))
+        return nextRow;
+    return -1;
+}
+
+int PlaylistModel::previousRow() const {
+    int prevRow = m_activeRow - 1;
+    if (rowExists(prevRow))
+        return prevRow;
+    return -1;
+}
+
+Video* PlaylistModel::videoAt( int row ) const {
+    if ( rowExists( row ) )
+        return videos.at( row );
+    return 0;
+}
+
+Video* PlaylistModel::activeVideo() const {
+    return m_activeVideo;
+}
+
+void PlaylistModel::setVideoSource(VideoSource *videoSource) {
+    while (!videos.isEmpty())
+        delete videos.takeFirst();
+
+    m_activeVideo = 0;
+    m_activeRow = -1;
+    skip = 1;
+    reset();
+
+    this->videoSource = videoSource;
+    connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
+            SLOT(addVideos(QList<Video*>)), Qt::UniqueConnection);
+    connect(videoSource, SIGNAL(finished(int)),
+            SLOT(searchFinished(int)), Qt::UniqueConnection);
+    connect(videoSource, SIGNAL(error(QString)),
+            SLOT(searchError(QString)), Qt::UniqueConnection);
+
+    searchMore();
+}
+
+void PlaylistModel::searchMore(int max) {
+    if (searching) return;
+    searching = true;
+    firstSearch = skip == 1;
+    this->max = max;
+    errorMessage.clear();
+    videoSource->loadVideos(max, skip);
+    skip += max;
+}
+
+void PlaylistModel::searchMore() {
+    searchMore(maxItems);
+}
+
+void PlaylistModel::searchNeeded() {
+    int remainingRows = videos.size() - m_activeRow;
+    int rowsNeeded = maxItems - remainingRows;
+    if (rowsNeeded > 0)
+        searchMore(rowsNeeded);
+}
+
+void PlaylistModel::abortSearch() {
+    while (!videos.isEmpty())
+        delete videos.takeFirst();
+    reset();
+    videoSource->abort();
+    searching = false;
+}
+
+void PlaylistModel::searchFinished(int total) {
+    searching = false;
+    canSearchMore = total >= max;
+
+    // update the message item
+    emit dataChanged( createIndex( maxItems, 0 ), createIndex( maxItems, columnCount() - 1 ) );
+
+    if (!videoSource->getSuggestions().isEmpty())
+        emit haveSuggestions(videoSource->getSuggestions());
+
+    if (firstSearch && !videos.isEmpty())
+        handleFirstVideo(videos.first());
+}
+
+void PlaylistModel::searchError(QString message) {
+    errorMessage = message;
+    // update the message item
+    emit dataChanged( createIndex( maxItems, 0 ), createIndex( maxItems, columnCount() - 1 ) );
+}
+
+void PlaylistModel::addVideos(QList<Video*> newVideos) {
+    if (newVideos.isEmpty()) return;
+
+    bool isFirstVideo = videos.isEmpty();
+
+    beginInsertRows(QModelIndex(), videos.size(), videos.size() + newVideos.size() - 1);
+    videos.append(newVideos);
+    endInsertRows();
+
+    foreach (Video* video, newVideos) {
+        connect(video, SIGNAL(gotThumbnail()),
+                SLOT(updateThumbnail()), Qt::UniqueConnection);
+        video->loadThumbnail();
+    }
+
+    // if (isFirstVideo) handleFirstVideo(newVideos.first());
+}
+
+void PlaylistModel::handleFirstVideo(Video *video) {
+
+    int currentVideoRow = rowForCloneVideo(MediaView::instance()->getCurrentVideo());
+    if (currentVideoRow != -1) setActiveRow(currentVideoRow, false);
+    else {
+        QSettings settings;
+        if (!settings.value("manualplay", false).toBool())
+            setActiveRow(0);
+    }
+
+    QSettings settings;
+    if (!settings.value("manualplay", false).toBool()) {
+        int newActiveRow = rowForCloneVideo(MediaView::instance()->getCurrentVideo());
+        if (newActiveRow != -1) setActiveRow(newActiveRow, false);
+        else setActiveRow(0);
+    }
+
+    if (videoSource->metaObject()->className() == QLatin1String("YTSearch")) {
+
+        static const int maxRecentElements = 10;
+
+        YTSearch *search = dynamic_cast<YTSearch *>(videoSource);
+        SearchParams *searchParams = search->getSearchParams();
+
+        // save keyword
+        QString query = searchParams->keywords();
+        if (!query.isEmpty() && !searchParams->isTransient()) {
+            if (query.startsWith("http://")) {
+                // Save the video title
+                query += "|" + videos.first()->title();
+            }
+            QStringList keywords = settings.value(recentKeywordsKey).toStringList();
+            keywords.removeAll(query);
+            keywords.prepend(query);
+            while (keywords.size() > maxRecentElements)
+                keywords.removeLast();
+            settings.setValue(recentKeywordsKey, keywords);
+        }
+
+        // save channel
+        QString channel = searchParams->author();
+        if (!channel.isEmpty() && !searchParams->isTransient()) {
+            QString value;
+            if (!video->authorUri().isEmpty() && video->authorUri() != video->author())
+                value = video->authorUri() + "|" + video->author();
+            else value = video->author();
+            QStringList channels = settings.value(recentChannelsKey).toStringList();
+            channels.removeAll(value);
+            channels.removeAll(channel);
+            channels.prepend(value);
+            while (channels.size() > maxRecentElements)
+                channels.removeLast();
+            settings.setValue(recentChannelsKey, channels);
+        }
+    }
+}
+
+void PlaylistModel::updateThumbnail() {
+
+    Video *video = static_cast<Video *>(sender());
+    if (!video) {
+        qDebug() << "Cannot get sender";
+        return;
+    }
+
+    int row = rowForVideo(video);
+    emit dataChanged( createIndex( row, 0 ), createIndex( row, columnCount() - 1 ) );
+
+}
+
+// --- item removal
+
+/**
+  * This function does not free memory
+  */
+bool PlaylistModel::removeRows(int position, int rows, const QModelIndex & /*parent*/) {
+    beginRemoveRows(QModelIndex(), position, position+rows-1);
+    for (int row = 0; row < rows; ++row) {
+        videos.removeAt(position);
+    }
+    endRemoveRows();
+    return true;
+}
+
+void PlaylistModel::removeIndexes(QModelIndexList &indexes) {
+    QList<Video*> originalList(videos);
+    QList<Video*> delitems;
+    foreach (QModelIndex index, indexes) {
+        if (index.row() >= originalList.size()) continue;
+        Video* video = originalList.at(index.row());
+        int idx = videos.indexOf(video);
+        if (idx != -1) {
+            beginRemoveRows(QModelIndex(), idx, idx);
+            delitems.append(video);
+            videos.removeAll(video);
+            endRemoveRows();
+        }
+    }
+
+    qDeleteAll(delitems);
+
+}
+
+// --- Sturm und drang ---
+
+
+
+Qt::DropActions PlaylistModel::supportedDropActions() const {
+    return Qt::CopyAction;
+}
+
+Qt::DropActions PlaylistModel::supportedDragActions() const {
+    return Qt::CopyAction;
+}
+
+Qt::ItemFlags PlaylistModel::flags(const QModelIndex &index) const {
+    if (index.isValid()) {
+        if (index.row() == videos.size()) {
+            // don't drag the "show 10 more" item
+            return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+        } else return (Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled);
+    }
+    return Qt::ItemIsDropEnabled;
+}
+
+QStringList PlaylistModel::mimeTypes() const {
+    QStringList types;
+    types << "application/x-minitube-video";
+    return types;
+}
+
+QMimeData* PlaylistModel::mimeData( const QModelIndexList &indexes ) const {
+    VideoMimeData* mime = new VideoMimeData();
+
+    foreach( const QModelIndex &it, indexes ) {
+        int row = it.row();
+        if (row >= 0 && row < videos.size())
+            mime->addVideo( videos.at( it.row() ) );
+    }
+
+    return mime;
+}
+
+bool PlaylistModel::dropMimeData(const QMimeData *data,
+                                 Qt::DropAction action, int row, int column,
+                                 const QModelIndex &parent) {
+    if (action == Qt::IgnoreAction)
+        return true;
+
+    if (!data->hasFormat("application/x-minitube-video"))
+        return false;
+
+    if (column > 0)
+        return false;
+
+    int beginRow;
+    if (row != -1)
+        beginRow = row;
+    else if (parent.isValid())
+        beginRow = parent.row();
+    else
+        beginRow = rowCount(QModelIndex());
+
+    const VideoMimeData* videoMimeData = dynamic_cast<const VideoMimeData*>( data );
+    if(!videoMimeData ) return false;
+
+    QList<Video*> droppedVideos = videoMimeData->videos();
+    foreach( Video *video, droppedVideos) {
+        
+        // remove videos
+        int videoRow = videos.indexOf(video);
+        removeRows(videoRow, 1, QModelIndex());
+        
+        // and then add them again at the new position
+        beginInsertRows(QModelIndex(), beginRow, beginRow);
+        videos.insert(beginRow, video);
+        endInsertRows();
+
+    }
+
+    // fix m_activeRow after all this
+    m_activeRow = videos.indexOf(m_activeVideo);
+
+    // let the MediaView restore the selection
+    emit needSelectionFor(droppedVideos);
+
+    return true;
+
+}
+
+int PlaylistModel::rowForCloneVideo(Video *video) const {
+    if (!video) return -1;
+    for (int i = 0; i < videos.size(); ++i) {
+        Video *v = videos.at(i);
+        if (v->id() == video->id()) return i;
+    }
+    return -1;
+}
+
+int PlaylistModel::rowForVideo(Video* video) {
+    return videos.indexOf(video);
+}
+
+QModelIndex PlaylistModel::indexForVideo(Video* video) {
+    return createIndex(videos.indexOf(video), 0);
+}
+
+void PlaylistModel::move(QModelIndexList &indexes, bool up) {
+    QList<Video*> movedVideos;
+
+    foreach (QModelIndex index, indexes) {
+        int row = index.row();
+        if (row >= videos.size()) continue;
+        // qDebug() << "index row" << row;
+        Video *video = videoAt(row);
+        movedVideos << video;
+    }
+
+    int end=up ? -1 : rowCount()-1, mod=up ? -1 : 1;
+    foreach (Video *video, movedVideos) {
+
+        int row = rowForVideo(video);
+        if (row+mod==end) { end=row; continue; }
+        // qDebug() << "video row" << row;
+        removeRows(row, 1, QModelIndex());
+
+        if (up) row--;
+        else row++;
+
+        beginInsertRows(QModelIndex(), row, row);
+        videos.insert(row, video);
+        endInsertRows();
+
+    }
+
+    emit needSelectionFor(movedVideos);
+
+}
+
+/* row hovering */
+
+void PlaylistModel::setHoveredRow(int row) {
+    int oldRow = hoveredRow;
+    hoveredRow = row;
+    emit dataChanged( createIndex( oldRow, 0 ), createIndex( oldRow, columnCount() - 1 ) );
+    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
+}
+
+void PlaylistModel::clearHover() {
+    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
+    hoveredRow = -1;
+}
+
+/* clickable author */
+
+void PlaylistModel::enterAuthorHover() {
+    if (authorHovered) return;
+    authorHovered = true;
+    updateAuthor();
+}
+
+void PlaylistModel::exitAuthorHover() {
+    if (!authorHovered) return;
+    authorHovered = false;
+    updateAuthor();
+    setHoveredRow(hoveredRow);
+}
+
+void PlaylistModel::enterAuthorPressed() {
+    if (authorPressed) return;
+    authorPressed = true;
+    updateAuthor();
+}
+
+void PlaylistModel::exitAuthorPressed() {
+    if (!authorPressed) return;
+    authorPressed = false;
+    updateAuthor();
+}
+
+void PlaylistModel::updateAuthor() {
+    emit dataChanged( createIndex( hoveredRow, 0 ), createIndex( hoveredRow, columnCount() - 1 ) );
+}
diff --git a/src/playlistmodel.h b/src/playlistmodel.h
new file mode 100644 (file)
index 0000000..6b665a3
--- /dev/null
@@ -0,0 +1,109 @@
+#ifndef PLAYLISTMODEL_H
+#define PLAYLISTMODEL_H
+
+#include <QtGui>
+
+class Video;
+class VideoSource;
+
+enum DataRoles {
+    ItemTypeRole = Qt::UserRole,
+    VideoRole,
+    ActiveTrackRole,
+    DownloadItemRole,
+    HoveredItemRole,
+    DownloadButtonHoveredRole,
+    DownloadButtonPressedRole,
+    AuthorHoveredRole,
+    AuthorPressedRole
+};
+
+enum ItemTypes {
+    ItemTypeVideo = 1,
+    ItemTypeShowMore
+};
+
+class PlaylistModel : public QAbstractListModel {
+
+    Q_OBJECT
+
+public:
+    PlaylistModel(QWidget *parent = 0);
+
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    int columnCount( const QModelIndex& parent = QModelIndex() ) const { Q_UNUSED( parent ); return 4; }
+    QVariant data(const QModelIndex &index, int role) const;
+    bool removeRows(int position, int rows, const QModelIndex &parent);
+
+    Qt::ItemFlags flags(const QModelIndex &index) const;
+    QStringList mimeTypes() const;
+    Qt::DropActions supportedDropActions() const;
+    Qt::DropActions supportedDragActions() const;
+    QMimeData* mimeData( const QModelIndexList &indexes ) const;
+    bool dropMimeData(const QMimeData *data,
+                      Qt::DropAction action, int row, int column,
+                      const QModelIndex &parent);
+
+    void setActiveRow(int row , bool notify = true);
+    bool rowExists( int row ) const { return (( row >= 0 ) && ( row < videos.size() ) ); }
+    int activeRow() const { return m_activeRow; } // returns -1 if there is no active row
+    int nextRow() const;
+    int previousRow() const;
+    void removeIndexes(QModelIndexList &indexes);
+    int rowForVideo(Video* video);
+    QModelIndex indexForVideo(Video* video);
+    void move(QModelIndexList &indexes, bool up);
+
+    Video* videoAt( int row ) const;
+    Video* activeVideo() const;
+    int rowForCloneVideo(Video *video) const;
+
+    VideoSource* getVideoSource() { return videoSource; }
+    void setVideoSource(VideoSource *videoSource);
+    void abortSearch();
+
+public slots:
+    void searchMore();
+    void searchNeeded();
+    void addVideos(QList<Video*> newVideos);
+    void searchFinished(int total);
+    void searchError(QString message);
+    void updateThumbnail();
+
+    void setHoveredRow(int row);
+    void clearHover();
+    void enterAuthorHover();
+    void exitAuthorHover();
+    void enterAuthorPressed();
+    void exitAuthorPressed();
+    void updateAuthor();
+
+signals:
+    void activeRowChanged(int);
+    void needSelectionFor(QList<Video*>);
+    void haveSuggestions(const QStringList &suggestions);
+
+private:
+    void handleFirstVideo(Video* video);
+    void searchMore(int max);
+
+    VideoSource *videoSource;
+    bool searching;
+    bool canSearchMore;
+    bool firstSearch;
+
+    QList<Video*> videos;
+    int skip;
+    int max;
+
+    int m_activeRow;
+    Video *m_activeVideo;
+
+    QString errorMessage;
+
+    int hoveredRow;
+    bool authorHovered;
+    bool authorPressed;
+};
+
+#endif
diff --git a/src/playlistsuggest.cpp b/src/playlistsuggest.cpp
new file mode 100644 (file)
index 0000000..26df116
--- /dev/null
@@ -0,0 +1,121 @@
+#include "playlistsuggest.h"
+#include <QtXml>
+#include "networkaccess.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+struct Playlist {
+    QString id;
+    QString title;
+    QString summary;
+    QString author;
+    int videoCount;
+};
+
+PlaylistSuggest::PlaylistSuggest(QObject *parent) : Suggester() {
+
+}
+
+void PlaylistSuggest::suggest(QString query) {
+    QUrl url("http://gdata.youtube.com/feeds/api/playlists/snippets");
+    url.addQueryItem("v", "2");
+    url.addQueryItem("q", query);
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
+}
+
+void PlaylistSuggest::handleNetworkData(QByteArray data) {
+    QList<Playlist> playlists;
+
+    QXmlStreamReader xml(data);
+    while (!xml.atEnd()) {
+        xml.readNext();
+        if (xml.tokenType() == QXmlStreamReader::StartElement && xml.name() == "entry") {
+
+            Playlist playlist = {};
+
+            while (xml.readNextStartElement()) {
+                if (xml.name() == "title") {
+                    playlist.title = xml.readElementText();
+                }
+                else if (xml.name() == "summary") {
+                    playlist.summary = xml.readElementText();
+                }
+                else if (xml.name() == "author") {
+                    while (xml.readNextStartElement()) {
+                        if (xml.name() == "name") {
+                            playlist.author = xml.readElementText();
+                            break;
+                        }
+                    }
+                }
+                else if (xml.name() == "playlistId") {
+                    playlist.id = xml.readElementText();
+                }
+                else if (xml.name() == "countHint") {
+                    playlist.videoCount = xml.readElementText().toInt();
+                }
+            }
+
+            playlists << playlist;
+
+        }
+    }
+
+    // emit ready(choices);
+}
+
+/* model */
+
+class PlaylistSuggestModel : public QAbstractListModel {
+
+    Q_OBJECT
+
+public:
+    PlaylistSuggestModel(QWidget *parent) : QAbstractListModel(parent) { }
+    int rowCount(const QModelIndex &parent = QModelIndex()) const {
+        Q_UNUSED(parent);
+        return list.size();
+    }
+    int columnCount( const QModelIndex& parent = QModelIndex() ) const {
+        Q_UNUSED(parent);
+        return 1;
+    }
+    QVariant data(const QModelIndex &index, int role) const {
+        Q_UNUSED(index);
+        Q_UNUSED(role);
+        return QVariant();
+    }
+    QList<Playlist> list;
+
+};
+
+/* delegate */
+
+class PlaylistSuggestDelegate : public QStyledItemDelegate {
+
+    Q_OBJECT
+
+public:
+    PlaylistSuggestDelegate(QObject* parent);
+    QSize sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const {
+        return QSize(0, 100);
+    }
+    void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const {
+        QStyleOptionViewItemV4 opt = QStyleOptionViewItemV4(option);
+        initStyleOption(&opt, index);
+        opt.text = "";
+        opt.widget->style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
+
+        painter->save();
+        painter->translate(option.rect.topLeft());
+
+        QRect line(0, 0, option.rect.width(), option.rect.height());
+
+        painter->restore();
+
+    }
+
+};
diff --git a/src/playlistsuggest.h b/src/playlistsuggest.h
new file mode 100644 (file)
index 0000000..c8f455b
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef PLAYLISTSUGGEST_H
+#define PLAYLISTSUGGEST_H
+
+#include <QtGui>
+#include "suggester.h"
+
+class PlaylistSuggest : public Suggester {
+
+    Q_OBJECT
+
+public:
+    PlaylistSuggest(QObject *parent = 0);
+    void suggest(QString query);
+
+signals:
+    void ready(QStringList);
+
+private slots:
+    void handleNetworkData(QByteArray response);
+
+};
+
+#endif // PLAYLISTSUGGEST_H
index d976b094728452853d3a5913a3b1aea7a88a339a..d8cbf99df565175607f04fbddd9fced3a3f59f43 100644 (file)
@@ -1,68 +1,97 @@
 #include "playlistview.h"
-#include "ListModel.h"
-#include "playlist/PrettyItemDelegate.h"
+#include "playlistmodel.h"
+#include "playlistitemdelegate.h"
 
 PlaylistView::PlaylistView(QWidget *parent) : QListView(parent) {
-    connect(this, SIGNAL(entered(const QModelIndex &)), SLOT(itemEntered(const QModelIndex &)));
+    clickableAuthors = true;
+
+    setItemDelegate(new PlaylistItemDelegate(this));
+    setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+    // dragndrop
+    setDragEnabled(true);
+    setAcceptDrops(true);
+    setDropIndicatorShown(true);
+    setDragDropMode(QAbstractItemView::DragDrop);
+
+    // cosmetics
+    setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
+    setFrameShape(QFrame::NoFrame);
+    setAttribute(Qt::WA_MacShowFocusRect, false);
+    // setMinimumSize(120, 240);
+    setUniformItemSizes(true);
+
+    connect(this, SIGNAL(entered(const QModelIndex &)),
+            SLOT(itemEntered(const QModelIndex &)));
     setMouseTracking(true);
 }
 
 void PlaylistView::itemEntered(const QModelIndex &index) {
-    ListModel *listModel = dynamic_cast<ListModel *>(model());
+    PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
     if (listModel) listModel->setHoveredRow(index.row());
 }
 
 void PlaylistView::leaveEvent(QEvent * /* event */) {
-    ListModel *listModel = dynamic_cast<ListModel *>(model());
+    PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
     if (listModel) listModel->clearHover();
 }
 
 void PlaylistView::mouseMoveEvent(QMouseEvent *event) {
     QListView::mouseMoveEvent(event);
-    QWidget::mouseMoveEvent(event);
-
-    if (isHoveringAuthor(event)) {
-
-        // check for special "message" item
-        ListModel *listModel = dynamic_cast<ListModel *>(model());
-        if (listModel && listModel->rowCount() == indexAt(event->pos()).row())
-            return;
+    // QWidget::mouseMoveEvent(event);
 
+    if (isHoveringThumbnail(event)) {
+        setCursor(Qt::PointingHandCursor);
+    } else if (isShowMoreItem(indexAt(event->pos()))) {
+        setCursor(Qt::PointingHandCursor);
+    } else if (isHoveringAuthor(event)) {
         QMetaObject::invokeMethod(model(), "enterAuthorHover");
         setCursor(Qt::PointingHandCursor);
     } else {
         QMetaObject::invokeMethod(model(), "exitAuthorHover");
         unsetCursor();
     }
-
 }
 
 void PlaylistView::mousePressEvent(QMouseEvent *event) {
-    if (event->button() == Qt::LeftButton
-        && isHoveringAuthor(event)) {
-        QMetaObject::invokeMethod(model(), "enterAuthorPressed");
-        event->ignore();
-    } else {
-        QListView::mousePressEvent(event);
-    }
+    if (event->button() == Qt::LeftButton) {
+        if (isHoveringThumbnail(event)) {
+            event->accept();
+        } else if (isHoveringAuthor(event)) {
+            QMetaObject::invokeMethod(model(), "enterAuthorPressed");
+            event->ignore();
+        } else QListView::mousePressEvent(event);
+    } else QListView::mousePressEvent(event);
 }
 
 void PlaylistView::mouseReleaseEvent(QMouseEvent *event) {
     if (event->button() == Qt::LeftButton) {
         QMetaObject::invokeMethod(model(), "exitAuthorPressed");
-        if (isHoveringAuthor(event))
-            emit authorPushed(indexAt(event->pos()));
+        const QModelIndex index =  indexAt(event->pos());
+        if (isHoveringThumbnail(event)) {
+            emit activated(index);
+            unsetCursor();
+        } else if (isHoveringAuthor(event)) {
+            emit authorPushed(index);
+        } else if (isShowMoreItem(index)) {
+            PlaylistModel *listModel = dynamic_cast<PlaylistModel *>(model());
+            listModel->searchMore();
+            unsetCursor();
+        }
+
     } else {
         QListView::mousePressEvent(event);
     }
 }
 
 bool PlaylistView::isHoveringAuthor(QMouseEvent *event) {
+    if (!clickableAuthors) return false;
+
     const QModelIndex itemIndex = indexAt(event->pos());
     const QRect itemRect = visualRect(itemIndex);
     // qDebug() << " itemRect.x()" <<  itemRect.x();
 
-    PrettyItemDelegate *delegate = dynamic_cast<PrettyItemDelegate *>(itemDelegate());
+    PlaylistItemDelegate *delegate = dynamic_cast<PlaylistItemDelegate *>(itemDelegate());
     if (!delegate) return false;
 
     QRect rect = delegate->authorRect(itemIndex);
@@ -73,3 +102,17 @@ bool PlaylistView::isHoveringAuthor(QMouseEvent *event) {
 
     return ret;
 }
+
+bool PlaylistView::isHoveringThumbnail(QMouseEvent *event) {
+    const QModelIndex index = indexAt(event->pos());
+    const QRect itemRect = visualRect(index);
+    static const QRect thumbRect(0, 0, 160, 90);
+    const int x = event->x() - itemRect.x() - thumbRect.x();
+    const int y = event->y() - itemRect.y() - thumbRect.y();
+    return x > 0 && x < thumbRect.width() && y > 0 && y < thumbRect.height();
+}
+
+bool PlaylistView::isShowMoreItem(const QModelIndex &index) {
+    return model()->rowCount() > 1 &&
+            model()->rowCount() == index.row() + 1;
+}
index b058e8ba7e175ae4a35ccc6532d944e286390363..fb3bd0cd548948f9f2310253f74dd2fca03b418b 100644 (file)
@@ -9,13 +9,13 @@ class PlaylistView : public QListView {
 
 public:
     PlaylistView(QWidget *parent = 0);
+    void setClickableAuthors(bool enabled) { clickableAuthors = enabled; }
 
 protected:
     void leaveEvent(QEvent *event);
     void mouseMoveEvent(QMouseEvent *event);
     void mousePressEvent(QMouseEvent *event);
     void mouseReleaseEvent(QMouseEvent *event);
-    bool isHoveringAuthor(QMouseEvent *event);
 
 signals:
     void authorPushed(QModelIndex index);
@@ -23,6 +23,13 @@ signals:
 private slots:
     void itemEntered(const QModelIndex &index);
 
+private:
+    bool isHoveringAuthor(QMouseEvent *event);
+    bool isShowMoreItem(const QModelIndex &index);
+    bool isHoveringThumbnail(QMouseEvent *event);
+
+    bool clickableAuthors;
+
 };
 
 #endif // PLAYLISTVIEW_H
diff --git a/src/playlistwidget.cpp b/src/playlistwidget.cpp
deleted file mode 100644 (file)
index 1101e4d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "playlistwidget.h"
-#include "segmentedcontrol.h"
-
-PlaylistWidget::PlaylistWidget (QWidget *parent, SegmentedControl *tabBar, QListView *listView)
-    : QWidget(parent) {
-    QBoxLayout *layout = new QVBoxLayout(this);
-    layout->setMargin(0);
-    layout->setSpacing(0);
-    layout->addWidget(tabBar);
-    layout->addWidget(listView);
-}
diff --git a/src/playlistwidget.h b/src/playlistwidget.h
deleted file mode 100644 (file)
index 5e3342c..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef PLAYLISTWIDGET_H
-#define PLAYLISTWIDGET_H
-
-#include <QtGui>
-
-class SegmentedControl;
-
-class PlaylistWidget : public QWidget {
-
-    Q_OBJECT
-
-public:
-    PlaylistWidget(QWidget *parent, SegmentedControl *tabBar, QListView *listView);
-
-};
-
-#endif // PLAYLISTWIDGET_H
index 4c4382d23fd3d0ada885532d8196557e2ff46837..7e968dfa551afbb71e85a18e150552ef6eb97833 100644 (file)
@@ -57,6 +57,8 @@ 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>
 #endif
 
@@ -82,7 +84,7 @@ QtLocalPeer::QtLocalPeer(QObject* parent, const QString &appId)
 #endif
         prefix = id.section(QLatin1Char('/'), -1);
     }
-    prefix.remove(QRegExp("[^a-zA-Z]"));
+    prefix.remove(QRegExp(QLatin1String("[^a-zA-Z]")));
     prefix.truncate(6);
 
     QByteArray idc = id.toUtf8();
index 9edad1ee9825203c77266adc8b07c55835ca08ca..f1a140ee827d6e457a518b85520bdc5f21fec36f 100644 (file)
@@ -5,6 +5,10 @@
 #include "extra.h"
 #endif
 
+namespace The {
+QHash<QString, QAction*>* globalActions();
+}
+
 RefineSearchWidget::RefineSearchWidget(QWidget *parent) :
     QWidget(parent) {
     dirty = false;
@@ -194,16 +198,22 @@ void RefineSearchWidget::actionTriggered(QAction *action) {
     QString paramName = bar->property("paramName").toString();
     QVariant paramValue = action->property("paramValue");
 
-    qDebug() << "param changed" << paramName << paramValue;
+    // qDebug() << "param changed" << paramName << paramValue;
     emit paramChanged(paramName, paramValue);
 
-    qDebug() << __PRETTY_FUNCTION__;
     dirty = true;
 }
 
 void RefineSearchWidget::setSearchParams(SearchParams *params) {
     setup();
 
+    qDebug() << (params != 0);
+
+    The::globalActions()->value("refine-search")->setEnabled(params);
+    setEnabled(params);
+
+    if (!params) return;
+
     QToolBar* bar;
     QAction* action;
 
@@ -223,6 +233,7 @@ void RefineSearchWidget::setSearchParams(SearchParams *params) {
     action = bar->actions().at(params->quality());
     if (action) action->setChecked(true);
 
+    disconnect(SIGNAL(paramChanged(QString,QVariant)));
     connect(this, SIGNAL(paramChanged(QString,QVariant)),
             params, SLOT(setParam(QString,QVariant)),
             Qt::UniqueConnection);
diff --git a/src/regionsview.cpp b/src/regionsview.cpp
new file mode 100644 (file)
index 0000000..c83ed92
--- /dev/null
@@ -0,0 +1,69 @@
+#include "regionsview.h"
+#include "ytregions.h"
+#include "mainwindow.h"
+
+RegionsView::RegionsView(QWidget *parent) : QWidget(parent) {
+    QBoxLayout *l = new QVBoxLayout(this);
+    l->setMargin(30);
+    l->setSpacing(30);
+
+    layout = new QGridLayout();
+    layout->setMargin(0);
+    layout->setSpacing(0);
+    l->addLayout(layout);
+
+    addRegion(YTRegions::worldwideRegion());
+    foreach(YTRegion region, YTRegions::list())
+        addRegion(region);
+
+    doneButton = new QPushButton(tr("Done"));
+    doneButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    doneButton->setDefault(true);
+    doneButton->setProperty("custom", true);
+    doneButton->setProperty("important", true);
+    doneButton->setProperty("big", true);
+    connect(doneButton, SIGNAL(clicked()), MainWindow::instance(), SLOT(goBack()));
+    l->addWidget(doneButton, 0, Qt::AlignCenter);
+}
+
+void RegionsView::addRegion(const YTRegion &region) {
+    QPushButton *button = new QPushButton(region.name);
+    button->setProperty("regionId", region.id);
+    button->setCheckable(true);
+    button->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    button->setFocusPolicy(Qt::StrongFocus);
+    button->setIcon(YTRegions::iconForRegionId(region.id));
+    connect(button, SIGNAL(clicked()), SLOT(buttonClicked()));
+    const int i = layout->count();
+    static const int rows = 10;
+    layout->addWidget(button, i % rows, i / rows);
+}
+
+void RegionsView::appear() {
+    doneButton->setFocus();
+
+    QString currentRegionId = YTRegions::currentRegionId();
+    for (int i = 0; i < layout->count(); i++) {
+        QLayoutItem *item = layout->itemAt(i);
+        QPushButton *b = static_cast<QPushButton*>(item->widget());
+        QString regionId = b->property("regionId").toString();
+        b->setChecked(currentRegionId == regionId);
+    }
+}
+
+void RegionsView::buttonClicked() {
+    QObject* o = sender();
+    QString regionId = o->property("regionId").toString();
+    YTRegions::setRegion(regionId);
+    emit regionChanged();
+    doneButton->click();
+
+    // uncheck other buttons
+    /*
+    for (int i = 0; i < layout->count(); i++) {
+        QLayoutItem *item = layout->itemAt(i);
+        QPushButton *b = static_cast<QPushButton*>(item->widget());
+        if (b != o && b->isChecked()) b->setChecked(false);
+    }
+    */
+}
diff --git a/src/regionsview.h b/src/regionsview.h
new file mode 100644 (file)
index 0000000..cf92d20
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef REGIONSVIEW_H
+#define REGIONSVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class YTRegion;
+
+class RegionsView : public QWidget, public View {
+
+    Q_OBJECT
+
+public:
+    RegionsView(QWidget *parent = 0);
+    void appear();
+
+signals:
+    void regionChanged();
+
+private slots:
+    void buttonClicked();
+
+private:
+    void addRegion(const YTRegion &region);
+    QGridLayout *layout;
+    QPushButton *doneButton;
+
+};
+
+#endif // REGIONSVIEW_H
index 5942a0caa893ff5caa8070908c09acdecf9d5ba7..a7906fc11fea1c5f4d716dd4e1dfc3d7aaf89429 100644 (file)
@@ -1,6 +1,6 @@
 #include "searchparams.h"
 
-SearchParams::SearchParams() {
+SearchParams::SearchParams(QObject *parent) : QObject(parent) {
     m_transient = false;
     m_sortBy = SortByRelevance;
     m_duration = DurationAny;
index 9af3f40e64c18f5571925963acb229d11e1d0cb2..24e023fa82f79dcdec10fd9655d41cb3d36ac366 100644 (file)
@@ -39,7 +39,7 @@ public:
         TimeMonth
     };
 
-    SearchParams();
+    SearchParams(QObject *parent = 0);
 
     const QString keywords() const { return m_keywords; }
     void setKeywords( QString keywords ) { m_keywords = keywords; }
@@ -62,6 +62,11 @@ public:
     int time() const { return m_time; }
     void setTime( int time ) { m_time = time; }
 
+    bool operator==(const SearchParams &other) const {
+        return m_keywords == other.keywords() &&
+                m_author == other.author();
+    }
+
 public slots:
     void setParam(QString name, QVariant value);
 
diff --git a/src/searchview.cpp b/src/searchview.cpp
new file mode 100644 (file)
index 0000000..950d342
--- /dev/null
@@ -0,0 +1,370 @@
+#include "searchview.h"
+#include "constants.h"
+#include "fontutils.h"
+#include "searchparams.h"
+#include "ytsuggester.h"
+#include "channelsuggest.h"
+#ifdef APP_MAC
+#include "searchlineedit_mac.h"
+#else
+#include "searchlineedit.h"
+#endif
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
+#include "mainwindow.h"
+
+namespace The {
+QHash<QString, QAction*>* globalActions();
+}
+
+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();
+
+#if defined(APP_MAC) | defined(APP_WIN)
+    // speedup painting since we'll paint the whole background
+    // by ourselves anyway in paintEvent()
+    setAttribute(Qt::WA_OpaquePaintEvent);
+#endif
+
+    QBoxLayout *mainLayout = new QVBoxLayout(this);
+    mainLayout->setMargin(PADDING);
+    mainLayout->setSpacing(0);
+
+    // hidden message widget
+    message = new QLabel(this);
+    message->hide();
+    mainLayout->addWidget(message);
+
+    mainLayout->addStretch();
+
+    QBoxLayout *hLayout = new QHBoxLayout();
+    hLayout->setAlignment(Qt::AlignCenter);
+    mainLayout->addLayout(hLayout);
+
+    QLabel *logo = new QLabel(this);
+    logo->setPixmap(QPixmap(":/images/app.png"));
+    hLayout->addWidget(logo, 0, Qt::AlignTop);
+    hLayout->addSpacing(PADDING);
+
+    QVBoxLayout *layout = new QVBoxLayout();
+    layout->setAlignment(Qt::AlignCenter);
+    hLayout->addLayout(layout);
+
+    QLabel *welcomeLabel =
+            new QLabel("<h1 style='font-weight:normal'>" +
+                       tr("Welcome to <a href='%1'>%2</a>,")
+                       // .replace("<a ", "<a style='color:palette(text)'")
+                       .replace("<a href", "<a style='text-decoration:none; color:palette(text); font-weight:bold' href")
+                       .arg(Constants::WEBSITE, Constants::NAME)
+                       + "</h1>", this);
+    welcomeLabel->setOpenExternalLinks(true);
+    layout->addWidget(welcomeLabel);
+
+    layout->addSpacing(PADDING / 2);
+
+    QBoxLayout *tipLayout = new QHBoxLayout();
+    tipLayout->setSpacing(10);
+
+    //: "Enter", as in "type". The whole phrase says: "Enter a keyword to start watching videos"
+    QLabel *tipLabel = new QLabel(tr("Enter"), this);
+    tipLabel->setFont(biggerFont);
+    tipLayout->addWidget(tipLabel);
+
+    typeCombo = new QComboBox(this);
+    typeCombo->addItem(tr("a keyword"));
+    typeCombo->addItem(tr("a channel"));
+    typeCombo->setFont(biggerFont);
+    connect(typeCombo, SIGNAL(currentIndexChanged(int)), SLOT(searchTypeChanged(int)));
+    tipLayout->addWidget(typeCombo);
+
+    tipLabel = new QLabel(tr("to start watching videos."), this);
+    tipLabel->setFont(biggerFont);
+    tipLayout->addWidget(tipLabel);
+    layout->addLayout(tipLayout);
+
+    layout->addSpacing(PADDING / 2);
+
+    QHBoxLayout *searchLayout = new QHBoxLayout();
+    searchLayout->setAlignment(Qt::AlignVCenter);
+
+    queryEdit = new SearchLineEdit(this);
+    queryEdit->setFont(biggerFont);
+    queryEdit->setMinimumWidth(queryEdit->fontInfo().pixelSize()*15);
+    connect(queryEdit, SIGNAL(search(const QString&)), SLOT(watch(const QString&)));
+    connect(queryEdit, SIGNAL(textChanged(const QString &)), SLOT(textChanged(const QString &)));
+    connect(queryEdit, SIGNAL(suggestionAccepted(const QString&)), SLOT(watch(const QString&)));
+
+    youtubeSuggest = new YTSuggester(this);
+    channelSuggest = new ChannelSuggest(this);
+    searchTypeChanged(0);
+
+    searchLayout->addWidget(queryEdit);
+    searchLayout->addSpacing(10);
+
+    watchButton = new QPushButton(tr("Watch"), this);
+    watchButton->setDefault(true);
+    watchButton->setEnabled(false);
+    watchButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    connect(watchButton, SIGNAL(clicked()), this, SLOT(watch()));
+    searchLayout->addWidget(watchButton);
+
+    layout->addItem(searchLayout);
+
+    layout->addSpacing(PADDING / 2);
+
+    QHBoxLayout *otherLayout = new QHBoxLayout();
+    otherLayout->setMargin(0);
+    otherLayout->setSpacing(10);
+
+    recentKeywordsLayout = new QVBoxLayout();
+    recentKeywordsLayout->setSpacing(5);
+    recentKeywordsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
+    recentKeywordsLabel = new QLabel(tr("Recent keywords").toUpper(), this);
+    recentKeywordsLabel->setProperty("recentHeader", true);
+    recentKeywordsLabel->setForegroundRole(QPalette::Dark);
+    recentKeywordsLabel->hide();
+    recentKeywordsLabel->setFont(smallerFont);
+    recentKeywordsLayout->addWidget(recentKeywordsLabel);
+
+    otherLayout->addLayout(recentKeywordsLayout);
+
+    // recent channels
+    recentChannelsLayout = new QVBoxLayout();
+    recentChannelsLayout->setSpacing(5);
+    recentChannelsLayout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
+    recentChannelsLabel = new QLabel(tr("Recent channels").toUpper(), this);
+    recentChannelsLabel->setProperty("recentHeader", true);
+    recentChannelsLabel->setForegroundRole(QPalette::Dark);
+    recentChannelsLabel->hide();
+    recentChannelsLabel->setFont(smallerFont);
+    recentChannelsLayout->addWidget(recentChannelsLabel);
+
+    otherLayout->addLayout(recentChannelsLayout);
+
+    layout->addLayout(otherLayout);
+
+    mainLayout->addStretch();
+
+#ifdef APP_ACTIVATION
+    if (!Activation::instance().isActivated())
+        mainLayout->addWidget(Extra::buyButton(tr("Get the full version")), 0, Qt::AlignRight);
+#endif
+}
+
+void SearchView::appear() {
+    updateRecentKeywords();
+    updateRecentChannels();
+    queryEdit->selectAll();
+    queryEdit->enableSuggest();
+    QTimer::singleShot(0, queryEdit, SLOT(setFocus()));
+}
+
+void SearchView::updateRecentKeywords() {
+
+    // cleanup
+    QLayoutItem *item;
+    while ((item = recentKeywordsLayout->takeAt(1)) != 0) {
+        item->widget()->close();
+        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) {
+        QString link = keyword;
+        QString display = keyword;
+        if (keyword.startsWith("http://") || keyword.startsWith("https://")) {
+            int separator = keyword.indexOf("|");
+            if (separator > 0 && separator + 1 < keyword.length()) {
+                link = keyword.left(separator);
+                display = keyword.mid(separator+1);
+            }
+        }
+        bool needStatusTip = false;
+        if (display.length() > 24) {
+            display.truncate(24);
+            display.append("...");
+            needStatusTip = true;
+        }
+        QLabel *itemLabel = new QLabel("<a href=\"" + link
+                                       + "\" style=\"color:palette(text); text-decoration:none\">"
+                                       + display + "</a>", this);
+        itemLabel->setAttribute(Qt::WA_DeleteOnClose);
+        itemLabel->setProperty("recentItem", true);
+        itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
+        // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        // Make links navigable with the keyboard too
+        itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
+        if (needStatusTip)
+            itemLabel->setStatusTip(link);
+        connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchKeywords(QString)));
+        recentKeywordsLayout->addWidget(itemLabel);
+    }
+
+}
+
+void SearchView::updateRecentChannels() {
+
+    // cleanup
+    QLayoutItem *item;
+    while ((item = recentChannelsLayout->takeAt(1)) != 0) {
+        item->widget()->close();
+        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) {
+        QString link = keyword;
+        QString display = keyword;
+        int separator = keyword.indexOf('|');
+        if (separator > 0 && separator + 1 < keyword.length()) {
+            link = keyword.left(separator);
+            display = keyword.mid(separator+1);
+        }
+        QLabel *itemLabel = new QLabel("<a href=\"" + link
+                                       + "\" style=\"color:palette(text); text-decoration:none\">"
+                                       + display + "</a>", this);
+        itemLabel->setAttribute(Qt::WA_DeleteOnClose);
+        itemLabel->setProperty("recentItem", true);
+        itemLabel->setMaximumWidth(queryEdit->width() + watchButton->width());
+        // itemLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        // Make links navigable with the keyboard too
+        itemLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse);
+
+        connect(itemLabel, SIGNAL(linkActivated(QString)), this, SLOT(watchChannel(QString)));
+        recentChannelsLayout->addWidget(itemLabel);
+    }
+
+}
+
+void SearchView::watch() {
+    QString query = queryEdit->text();
+    watch(query);
+}
+
+void SearchView::textChanged(const QString &text) {
+    watchButton->setEnabled(!text.simplified().isEmpty());
+}
+
+void SearchView::watch(QString query) {
+
+    query = query.simplified();
+
+    // check for empty query
+    if (query.length() == 0) {
+        queryEdit->setFocus(Qt::OtherFocusReason);
+        return;
+    }
+
+    SearchParams *searchParams = new SearchParams();
+    if (typeCombo->currentIndex() == 0)
+        searchParams->setKeywords(query);
+    else {
+        // remove spaces from channel name
+        query = query.replace(" ", "");
+        searchParams->setAuthor(query);
+        searchParams->setSortBy(SearchParams::SortByNewest);
+    }
+
+    // go!
+    emit search(searchParams);
+}
+
+void SearchView::watchChannel(QString channel) {
+
+    channel = channel.simplified();
+
+    // check for empty query
+    if (channel.length() == 0) {
+        queryEdit->setFocus(Qt::OtherFocusReason);
+        return;
+    }
+
+    // remove spaces from channel name
+    channel = channel.remove(" ");
+
+    SearchParams *searchParams = new SearchParams();
+    searchParams->setAuthor(channel);
+    searchParams->setSortBy(SearchParams::SortByNewest);
+
+    // go!
+    emit search(searchParams);
+}
+
+void SearchView::watchKeywords(QString query) {
+
+    query = query.simplified();
+
+    // check for empty query
+    if (query.length() == 0) {
+        queryEdit->setFocus(Qt::OtherFocusReason);
+        return;
+    }
+
+    if (typeCombo->currentIndex() == 0) {
+        queryEdit->setText(query);
+        watchButton->setEnabled(true);
+    }
+
+    SearchParams *searchParams = new SearchParams();
+    searchParams->setKeywords(query);
+
+    // go!
+    emit search(searchParams);
+}
+
+void SearchView::paintEvent(QPaintEvent * /*event*/) {
+    QPainter painter(this);
+
+#if defined(APP_MAC) | defined(APP_WIN)
+    QBrush brush;
+    if (window()->isActiveWindow()) {
+        brush = QBrush(QColor(0xdd, 0xe4, 0xeb));
+    } else {
+        brush = palette().window();
+    }
+    painter.fillRect(0, 0, width(), height(), brush);
+#endif
+
+    static QLinearGradient shadow;
+    static const int shadowHeight = 10;
+    if (shadow.stops().count() == 2) {
+        shadow.setFinalStop(0, shadowHeight);
+        const qreal initialOpacity = 96;
+        for (qreal i = 0; i <= 1; i += 1.0/shadowHeight) {
+            qreal opacity = qPow(initialOpacity, (1.0 - i)) - 1;
+            shadow.setColorAt(i, QColor(0x00, 0x00, 0x00, opacity));
+        }
+    }
+    QRect r = rect();
+    painter.fillRect(r.x(), r.y(), r.width(), shadowHeight, QBrush(shadow));
+}
+
+void SearchView::searchTypeChanged(int index) {
+    if (index == 0) {
+        queryEdit->setSuggester(youtubeSuggest);
+    } else {
+        queryEdit->setSuggester(channelSuggest);
+    }
+    queryEdit->selectAll();
+    queryEdit->setFocus();
+}
diff --git a/src/searchview.h b/src/searchview.h
new file mode 100644 (file)
index 0000000..4fcf504
--- /dev/null
@@ -0,0 +1,54 @@
+#ifndef __SEARCHVIEW_H__
+#define __SEARCHVIEW_H__
+
+#include <QtGui>
+#include "view.h"
+
+class SearchLineEdit;
+class SearchParams;
+class YTSuggester;
+class ChannelSuggest;
+
+class SearchView : public QWidget, public View {
+
+    Q_OBJECT
+
+public:
+    SearchView(QWidget *parent = 0);
+    void updateRecentKeywords();
+    void updateRecentChannels();
+
+public slots:
+    void appear();
+    void disappear() { }
+    void watch(QString query);
+    void watchChannel(QString channel);
+    void watchKeywords(QString query);
+
+signals:
+    void search(SearchParams*);
+
+protected:
+    void paintEvent(QPaintEvent *);
+
+private slots:
+    void watch();
+    void textChanged(const QString &text);
+    void searchTypeChanged(int index);
+
+private:
+    YTSuggester *youtubeSuggest;
+    ChannelSuggest *channelSuggest;
+
+    QComboBox *typeCombo;
+    SearchLineEdit *queryEdit;
+    QLabel *recentKeywordsLabel;
+    QBoxLayout *recentKeywordsLayout;
+    QLabel *recentChannelsLabel;
+    QBoxLayout *recentChannelsLayout;
+    QLabel *message;
+    QPushButton *watchButton;
+
+};
+
+#endif // __SEARCHVIEW_H__
index d666e4db057450fcd1fcb535a1eedccc2dd3f22b..a896fbd0517f6af9d6405c8d103b08f8f6075cff 100644 (file)
@@ -1,5 +1,6 @@
 #include "segmentedcontrol.h"
 #include "fontutils.h"
+#include "mainwindow.h"
 
 static const QColor borderColor = QColor(0x26, 0x26, 0x26);
 
@@ -104,8 +105,7 @@ void SegmentedControl::mouseMoveEvent (QMouseEvent *event) {
         update();
 
         // status tip
-        QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-        if (mainWindow) mainWindow->statusBar()->showMessage(action->statusTip());
+        MainWindow::instance()->statusBar()->showMessage(action->statusTip());
     }
 }
 
@@ -129,8 +129,7 @@ void SegmentedControl::mouseReleaseEvent(QMouseEvent *event) {
 void SegmentedControl::leaveEvent(QEvent *event) {
     QWidget::leaveEvent(event);
     // status tip
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-    if (mainWindow) mainWindow->statusBar()->clearMessage();
+    // static_cast<QMainWindow*>(window())->statusBar()->clearMessage();
     d->hoveredAction = 0;
     d->pressedAction = 0;
     update();
diff --git a/src/sidebarheader.cpp b/src/sidebarheader.cpp
new file mode 100644 (file)
index 0000000..91670a9
--- /dev/null
@@ -0,0 +1,112 @@
+#include "sidebarheader.h"
+#include "utils.h"
+#include "mediaview.h"
+#include "videosource.h"
+#include "fontutils.h"
+
+SidebarHeader::SidebarHeader(QWidget *parent) : QToolBar(parent) { }
+
+void SidebarHeader::setup() {
+    static bool isSetup = false;
+    if (isSetup) return;
+    isSetup = true;
+
+    backAction = new QAction(
+                Utils::icon("go-previous"),
+                tr("&Back"), this);
+    backAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Left));
+    connect(backAction, SIGNAL(triggered()), MediaView::instance(), SLOT(goBack()));
+    addAction(backAction);
+
+    forwardAction = new QAction(
+                Utils::icon("go-next"),
+                tr("&Back"), this);
+    forwardAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Right));
+    connect(forwardAction, SIGNAL(triggered()), MediaView::instance(), SLOT(goForward()));
+    addAction(forwardAction);
+
+    foreach (QAction* action, actions()) {
+        window()->addAction(action);
+        action->setAutoRepeat(false);
+    }
+
+    /*
+    QWidget *spacerWidget = new QWidget(this);
+    spacerWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+    spacerWidget->setVisible(true);
+    addWidget(spacerWidget);
+    */
+}
+
+QSize SidebarHeader::minimumSizeHint (void) const {
+    return(QSize(1, QFontMetrics(font()).height() * 1.9));
+}
+
+void SidebarHeader::updateInfo() {
+    setup();
+
+    QList<VideoSource*> history = MediaView::instance()->getHistory();
+    int currentIndex = MediaView::instance()->getHistoryIndex();
+
+    bool canGoForward = MediaView::instance()->canGoForward();
+    forwardAction->setVisible(canGoForward);
+    forwardAction->setEnabled(canGoForward);
+    if (canGoForward) {
+        VideoSource *nextVideoSource = history.at(currentIndex + 1);
+        forwardAction->setStatusTip(
+                    tr("Forward to %1")
+                    .arg(nextVideoSource->getName())
+                    + " (" + forwardAction->shortcut().toString(QKeySequence::NativeText) + ")"
+                    );
+    }
+
+    bool canGoBack = MediaView::instance()->canGoBack();
+    bool backVisible = canGoForward || canGoBack;
+    backAction->setVisible(backVisible);
+    backAction->setEnabled(canGoBack);
+    if (canGoBack) {
+        VideoSource *previousVideoSource = history.at(currentIndex - 1);
+        backAction->setStatusTip(
+                    tr("Back to %1")
+                    .arg(previousVideoSource->getName())
+                    + " (" + backAction->shortcut().toString(QKeySequence::NativeText) + ")"
+                    );
+    }
+
+    VideoSource *currentVideoSource = history.at(currentIndex);
+    connect(currentVideoSource, SIGNAL(nameChanged(QString)),
+            SLOT(updateTitle(QString)), Qt::UniqueConnection);
+    setTitle(currentVideoSource->getName());
+}
+
+void SidebarHeader::updateTitle(QString title) {
+    sender()->disconnect(this);
+    setTitle(title);
+}
+
+void SidebarHeader::setTitle(QString title) {
+    this->title = title;
+    update();
+}
+
+void SidebarHeader::paintEvent(QPaintEvent *event) {
+    QToolBar::paintEvent(event);
+    if (title.isEmpty()) return;
+    QPainter p(this);
+    p.setFont(FontUtils::smallBold());
+    p.setPen(Qt::white);
+
+    const QRect r = rect();
+
+    QString t = title;
+    QRect textBox = p.boundingRect(r, Qt::AlignCenter, t);
+    int i = 1;
+    static const int margin = 100;
+    while (textBox.width() > r.width() - margin) {
+        t = t.left(t.length() - i) + "...";
+        textBox = p.boundingRect(r, Qt::AlignCenter, t);
+        i++;
+    }
+
+    p.drawText(r, Qt::AlignCenter, t);
+}
diff --git a/src/sidebarheader.h b/src/sidebarheader.h
new file mode 100644 (file)
index 0000000..1ef4937
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef SIDEBARHEADER_H
+#define SIDEBARHEADER_H
+
+#include <QtGui>
+
+class SidebarHeader : public QToolBar {
+
+    Q_OBJECT
+
+public:
+    SidebarHeader(QWidget *parent = 0);
+    void updateInfo();
+
+protected:
+    QSize minimumSizeHint() const;
+    void paintEvent(QPaintEvent *event);
+
+private slots:
+    void updateTitle(QString title);
+
+private:
+    void setup();
+    void setTitle(QString title);
+
+    QAction *backAction;
+    QAction * forwardAction;
+    QString title;
+};
+
+#endif // SIDEBARHEADER_H
index ceae1503a2c06b0cdaf571fac3aa048129c4201e..5a5647fe2f83c00cc98053e9109c4a7539e1ed49 100644 (file)
@@ -1,12 +1,13 @@
 #include "sidebarwidget.h"
 #include "refinesearchbutton.h"
 #include "refinesearchwidget.h"
+#include "sidebarheader.h"
 #ifndef Q_WS_X11
 #include "extra.h"
 #endif
 
 namespace The {
-QMap<QString, QAction*>* globalActions();
+QHash<QString, QAction*>* globalActions();
 }
 
 SidebarWidget::SidebarWidget(QWidget *parent) :
@@ -14,9 +15,12 @@ SidebarWidget::SidebarWidget(QWidget *parent) :
     playlist = 0;
 
     QBoxLayout *layout = new QVBoxLayout(this);
-    layout->setSpacing(1);
+    layout->setSpacing(0);
     layout->setMargin(0);
 
+    sidebarHeader = new SidebarHeader();
+    layout->addWidget(sidebarHeader);
+
     // hidden message widget
     messageLabel = new QLabel(this);
     messageLabel->setMargin(10);
@@ -70,9 +74,11 @@ void SidebarWidget::setPlaylist(QListView *playlist) {
 void SidebarWidget::showPlaylist() {
     setup();
     stackedWidget->setCurrentWidget(playlist);
+    The::globalActions()->value("refine-search")->setChecked(false);
 }
 
 void SidebarWidget::showRefineSearchWidget() {
+    if (!refineSearchWidget->isEnabled()) return;
     refineSearchWidget->setDirty(false);
     stackedWidget->setCurrentWidget(refineSearchWidget);
     refineSearchWidget->setFocus();
@@ -131,6 +137,7 @@ void SidebarWidget::handleMouseMove() {
 }
 
 void SidebarWidget::showRefineSearchButton() {
+    if (!refineSearchWidget->isEnabled()) return;
     refineSearchButton->move(
                 playlist->viewport()->width() - refineSearchButton->minimumWidth(),
                 height() - refineSearchButton->minimumHeight());
index 5edb56f81f5bd4911404c7f39388d11b2b07bde9..26d9bf0c173c457cc87090ced5524bb11bd59886 100644 (file)
@@ -5,6 +5,7 @@
 
 class RefineSearchButton;
 class RefineSearchWidget;
+class SidebarHeader;
 
 class SidebarWidget : public QWidget {
 
@@ -15,6 +16,7 @@ public:
     void setPlaylist(QListView *playlist);
     void showPlaylist();
     RefineSearchWidget* getRefineSearchWidget() { return refineSearchWidget; }
+    SidebarHeader* getHeader() { return sidebarHeader; }
     void hideSuggestions();
 
 public slots:
@@ -44,7 +46,7 @@ private:
     RefineSearchWidget *refineSearchWidget;
     QTimer *mouseTimer;
     QLabel *messageLabel;
-    
+    SidebarHeader *sidebarHeader;
 };
 
 #endif // SIDEBARWIDGET_H
diff --git a/src/standardfeedsview.cpp b/src/standardfeedsview.cpp
new file mode 100644 (file)
index 0000000..1aae3e3
--- /dev/null
@@ -0,0 +1,124 @@
+#include "standardfeedsview.h"
+#include "videosourcewidget.h"
+#include "ytcategories.h"
+#include "ytstandardfeed.h"
+#include "ytregions.h"
+#include "mainwindow.h"
+
+namespace The {
+QHash<QString, QAction*>* globalActions();
+}
+
+static const int cols = 5;
+
+StandardFeedsView::StandardFeedsView(QWidget *parent) : QWidget(parent),
+    layout(0) {
+    QPalette p = palette();
+    p.setBrush(QPalette::Window, Qt::black);
+    setPalette(p);
+    setAutoFillBackground(true);
+
+    connect(The::globalActions()->value("worldwide-region"), SIGNAL(triggered()),
+            SLOT(selectWorldwideRegion()));
+
+    connect(The::globalActions()->value("local-region"), SIGNAL(triggered()),
+            SLOT(selectLocalRegion()));
+
+    /*
+    QAction *regionAction = MainWindow::instance()->getRegionAction();
+    connect(regionAction, SIGNAL(changed()), SLOT(load()));
+    */
+}
+
+void StandardFeedsView::load() {
+    YTCategories *youTubeCategories = new YTCategories(this);
+    connect(youTubeCategories, SIGNAL(categoriesLoaded(const QList<YTCategory> &)),
+            SLOT(layoutCategories(const QList<YTCategory> &)));
+    youTubeCategories->loadCategories();
+
+    if (layout) {
+        while (QLayoutItem *item = layout->takeAt(0)) {
+            delete item->widget();
+            delete item;
+        }
+        delete layout;
+    }
+
+    layout = new QGridLayout(this);
+    layout->setMargin(0);
+    layout->setSpacing(1);
+
+    QList<YTStandardFeed*> feeds = getMainFeeds();
+    foreach(YTStandardFeed *feed, feeds)
+        addVideoSourceWidget(feed);
+
+    YTRegion region = YTRegions::currentRegion();
+    QToolButton *regionButton = MainWindow::instance()->getRegionButton();
+    regionButton->setText(region.name);
+    regionButton->setIcon(YTRegions::iconForRegionId(region.id));
+}
+
+void StandardFeedsView::layoutCategories(const QList<YTCategory> &categories) {
+    QString regionId = YTRegions::currentRegionId();
+    foreach(YTCategory category, categories) {
+        // assign a parent to this VideoSource  so it won't be deleted by MediaView
+        YTStandardFeed *feed = new YTStandardFeed(this);
+        feed->setCategory(category.term);
+        feed->setLabel(category.label);
+        feed->setRegionId(regionId);
+        feed->setFeedId("most_popular");
+        addVideoSourceWidget(feed);
+    }
+}
+
+void StandardFeedsView::addVideoSourceWidget(VideoSource *videoSource) {
+    VideoSourceWidget *w = new VideoSourceWidget(videoSource);
+    connect(w, SIGNAL(activated(VideoSource*)),
+            SIGNAL(activated(VideoSource*)));
+    int i = layout->count();
+    layout->addWidget(w, i / cols, i % cols);
+}
+
+QList<YTStandardFeed*> StandardFeedsView::getMainFeeds() {
+    QList<YTStandardFeed*> feeds;
+
+    feeds << buildStardardFeed("most_popular", tr("Most Popular"))
+          << buildStardardFeed("recently_featured", tr("Featured"))
+          << buildStardardFeed("most_shared", tr("Most Shared"))
+          << buildStardardFeed("most_discussed", tr("Most Discussed"))
+          << buildStardardFeed("top_rated", tr("Top Rated"));
+
+    return feeds;
+}
+
+YTStandardFeed* StandardFeedsView::buildStardardFeed(QString feedId, QString label) {
+    YTStandardFeed *feed = new YTStandardFeed(this);
+    feed->setFeedId(feedId);
+    feed->setLabel(label);
+    feed->setRegionId(YTRegions::currentRegionId());
+    return feed;
+}
+
+void StandardFeedsView::appear() {
+    setFocus();
+    if (!layout) load();
+    QAction *regionAction = MainWindow::instance()->getRegionAction();
+    regionAction->setVisible(true);
+}
+
+void StandardFeedsView::disappear() {
+    QAction *regionAction = MainWindow::instance()->getRegionAction();
+    regionAction->setVisible(false);
+}
+
+void StandardFeedsView::selectWorldwideRegion() {
+    YTRegions::setRegion(YTRegions::worldwideRegion().id);
+    load();
+}
+
+void StandardFeedsView::selectLocalRegion() {
+    YTRegions::setRegion(YTRegions::localRegion().id);
+    load();
+}
+
+
diff --git a/src/standardfeedsview.h b/src/standardfeedsview.h
new file mode 100644 (file)
index 0000000..17d850f
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef CATEGORIESVIEW_H
+#define CATEGORIESVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class VideoSource;
+class YTCategory;
+class YTStandardFeed;
+
+class StandardFeedsView : public QWidget, public View {
+
+    Q_OBJECT
+
+public:
+    StandardFeedsView(QWidget *parent = 0);
+
+signals:
+    void activated(VideoSource *standardFeed);
+
+public slots:
+    void appear();
+    void disappear();
+    void load();
+    
+private slots:
+    void layoutCategories(const QList<YTCategory> &categories);
+    void selectWorldwideRegion();
+    void selectLocalRegion();
+
+private:
+    void addVideoSourceWidget(VideoSource *videoSource);
+    QList<YTStandardFeed*> getMainFeeds();
+    YTStandardFeed* buildStardardFeed(QString feedId, QString label);
+    QGridLayout *layout;
+    
+};
+
+#endif // CATEGORIESVIEW_H
index d95d026ca4a30fa9df47a62bdfde73a4e7a9a5c9..ad39f92dba8814eb680972480281716534fc1937 100644 (file)
@@ -8,6 +8,7 @@ class Suggester : public QObject {
     Q_OBJECT
 
 public:
+    Suggester(QObject *parent = 0) : QObject(parent) { }
     virtual void suggest(QString query) = 0;
 
 signals:
diff --git a/src/thlibrary/thblackbar.cpp b/src/thlibrary/thblackbar.cpp
deleted file mode 100644 (file)
index 993f802..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-#include <QPainter>
-#include <QPaintEvent>
-#include <QList>
-#include <QtGui>
-
-#include "thblackbar.h"
-#include "../fontutils.h"
-
-/* ============================================================================
- *  PRIVATE Class
- */
-class THBlackBar::Private {
-        public:
-    QList<QAction *> actionList;
-    QAction *checkedAction;
-    QAction *hoveredAction;
-};
-
-/* ============================================================================
- *  PUBLIC Constructor/Destructors
- */
-THBlackBar::THBlackBar (QWidget *parent)
-        : QWidget(parent), d(new THBlackBar::Private)
-{
-    // Setup Widget Options
-    setMouseTracking(true);
-
-    // Setup Members
-    d->hoveredAction = NULL;
-    d->checkedAction = NULL;
-}
-
-THBlackBar::~THBlackBar() {
-    delete d;
-}
-
-/* ============================================================================
- *  PUBLIC Methods
- */
-QAction *THBlackBar::addAction (QAction *action) {
-    action->setCheckable(true);
-    d->actionList.append(action);
-    return(action);
-}
-
-QAction *THBlackBar::addAction (const QString& text) {
-    QAction *action = new QAction(text, this);
-    action->setCheckable(true);
-    d->actionList.append(action);
-    return(action);
-}
-
-void THBlackBar::setCheckedAction(int index) {
-    if (d->checkedAction)
-        d->checkedAction->setChecked(false);
-    d->checkedAction = d->actionList.at(index);
-    d->checkedAction->setChecked(true);
-    update();
-}
-
-QSize THBlackBar::minimumSizeHint (void) const {       
-    int itemsWidth = calculateButtonWidth() * d->actionList.size();
-    return(QSize(100 + itemsWidth, 32));
-}
-
-/* ============================================================================
- *  PROTECTED Methods
- */
-void THBlackBar::paintEvent (QPaintEvent *event) {
-    int height = rect().height();
-    int width = rect().width();
-    // int mh = (height / 2);
-
-    // THPainter p(this);
-    QPainter p(this);
-
-    /*
-    // Draw Background
-    QLinearGradient linearGradUp(QPointF(0, 0), QPointF(0, mh));
-    linearGradUp.setColorAt(0, QColor(0x97, 0x97, 0x97));
-    linearGradUp.setColorAt(1, QColor(0x4d, 0x4d, 0x4d));
-    p.fillRect(0, 0, width, mh, QBrush(linearGradUp));
-
-    QLinearGradient linearGradDw(QPointF(0, mh), QPointF(0, height));
-    linearGradDw.setColorAt(0, QColor(0x3a, 0x3a, 0x3a));
-    linearGradDw.setColorAt(1, QColor(0x42, 0x42, 0x42));
-    p.fillRect(0, mh, width, mh, QBrush(linearGradDw));
-    */
-    
-    // Calculate Buttons Size & Location
-    int buttonWidth = width / d->actionList.size(); // calculateButtonWidth();
-    // int buttonsWidth = width; // buttonWidth * d->actionList.size();
-    int buttonsX = 0; // (width / 2) - (buttonsWidth / 2);
-
-    // Draw Buttons
-    // p.translate(0, 4);
-    QRect rect(buttonsX, 0, buttonWidth, height);
-    foreach (QAction *action, d->actionList) {
-        drawButton(&p, rect, action);
-        rect.moveLeft(rect.x() + rect.width());
-    }
-    // p.translate(0, -4);
-
-    // Draw Buttons Shadow
-    // p.fillRect(buttonsX, height - 4, buttonsWidth, 1, QColor(0x6d, 0x6d, 0x6d));
-
-    p.end();
-}
-
-void THBlackBar::mouseMoveEvent (QMouseEvent *event) {
-    QWidget::mouseMoveEvent(event);
-
-    QAction *action = hoveredAction(event->pos());
-
-    if (action == NULL && d->hoveredAction != NULL) {
-        // d->hoveredAction->hover(false);
-        d->hoveredAction = NULL;
-        update();
-    } else if (action != NULL) {
-        d->hoveredAction = action;
-        action->hover();
-        update();
-
-        // status tip
-        QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-        if (mainWindow) mainWindow->statusBar()->showMessage(action->statusTip());
-    }
-}
-
-void THBlackBar::mousePressEvent (QMouseEvent *event) {
-    QWidget::mousePressEvent(event);
-
-    if (d->hoveredAction != NULL) {
-
-        if (d->checkedAction != NULL) {
-            // already checked
-            if (d->checkedAction == d->hoveredAction) return;
-            d->checkedAction->setChecked(false);
-        }
-
-        d->checkedAction = d->hoveredAction;
-        d->hoveredAction->setChecked(true);
-        d->hoveredAction->trigger();
-
-        update();
-    }
-}
-
-void THBlackBar::leaveEvent(QEvent *event) {
-    // status tip
-    QMainWindow* mainWindow = dynamic_cast<QMainWindow*>(window());
-    if (mainWindow) mainWindow->statusBar()->clearMessage();
-}
-
-QAction *THBlackBar::hoveredAction (const QPoint& pos) const {
-    if (pos.y() <= 0 || pos.y() >= height())
-        return(NULL);
-
-    /*
-    int buttonWidth = calculateButtonWidth();
-    int buttonsWidth = buttonWidth * d->actionList.size();
-    int buttonsX = (width() / 2) - (buttonsWidth / 2);
-    */
-    
-    int buttonWidth = width() / d->actionList.size(); // calculateButtonWidth();
-    int buttonsWidth = width(); // buttonWidth * d->actionList.size();
-    int buttonsX = 0; // (width / 2) - (buttonsWidth / 2);
-    
-    if (pos.x() <= buttonsX || pos.x() >= (buttonsX + buttonsWidth))
-        return(NULL);
-
-    int buttonIndex = (pos.x() - buttonsX) / buttonWidth;
-
-    if (buttonIndex >= d->actionList.size())
-        return(NULL);
-    return(d->actionList[buttonIndex]);
-}
-
-int THBlackBar::calculateButtonWidth (void) const {
-    QFont smallerBoldFont = FontUtils::smallBold();
-    QFontMetrics fontMetrics(smallerBoldFont);
-    int tmpItemWidth, itemWidth = 0;
-    foreach (QAction *action, d->actionList) {
-        tmpItemWidth = fontMetrics.width(action->text());
-        if (itemWidth < tmpItemWidth) itemWidth = tmpItemWidth;
-    }
-    return itemWidth;
-}
-
-
-/* ============================================================================
- *  PRIVATE Methods
- */
-void THBlackBar::drawUnselectedButton (        QPainter *painter,
-                                        const QRect& rect,
-                                        const QAction *action)
-{
-    QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, rect.height() / 2));    
-    linearGrad.setColorAt(0, QColor(0x8e, 0x8e, 0x8e));
-    linearGrad.setColorAt(1, QColor(0x5c, 0x5c, 0x5c));
-    /*
-    QPalette palette;
-    linearGrad.setColorAt(0, palette.color(QPalette::Dark));
-    linearGrad.setColorAt(1, palette.color(QPalette::Midlight));
-*/
-    drawButton(painter, rect, linearGrad, QColor(0x41, 0x41, 0x41), action);
-    // drawButton(painter, rect, linearGrad, palette.color(QPalette::Shadow), action);
-}
-
-void THBlackBar::drawSelectedButton (  QPainter *painter,
-                                        const QRect& rect,
-                                        const QAction *action)
-{
-    QLinearGradient linearGrad(QPointF(0, 0), QPointF(0, rect.height() / 2));
-    linearGrad.setColorAt(0, QColor(0x6d, 0x6d, 0x6d));
-    linearGrad.setColorAt(1, QColor(0x25, 0x25, 0x25));
-    drawButton(painter, rect, linearGrad, QColor(0x00, 0x00, 0x00), action);
-}
-
-void THBlackBar::drawButton (  QPainter *painter,
-                                const QRect& rect,
-                                const QAction *action)
-{
-    if (action->isChecked())
-        drawSelectedButton(painter, rect, action);
-    else
-        drawUnselectedButton(painter, rect, action);
-}
-
-void THBlackBar::drawButton (  QPainter *painter, 
-                                const QRect& rect,
-                                const QLinearGradient& gradient,
-                                const QColor& color,
-                                const QAction *action)
-{
-    painter->save();
-
-    int height = rect.height();
-    int width = rect.width();
-    int mh = (height / 2);
-
-    painter->translate(rect.x(), rect.y());
-    painter->setPen(QColor(0x28, 0x28, 0x28));
-
-    painter->fillRect(0, 0, width, mh, QBrush(gradient));
-    painter->fillRect(0, mh, width, mh, color);
-#if defined(APP_MAC) | defined(APP_WIN)
-    painter->drawRect(-1, -1, width+1, height);
-#else
-    painter->drawRect(0, 0, width, height);
-#endif
-    QFont smallerBoldFont = FontUtils::smallBold();
-    painter->setFont(smallerBoldFont);
-    painter->setPen(QPen(QColor(0xff, 0xff, 0xff), 1));
-    painter->drawText(0, 1, width, height, Qt::AlignCenter, action->text());
-
-    painter->restore();
-}
-
diff --git a/src/thlibrary/thblackbar.h b/src/thlibrary/thblackbar.h
deleted file mode 100644 (file)
index 4695780..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef _THBLACKBAR_H_
-#define _THBLACKBAR_H_
-
-#include <QWidget>
-#include <QAction>
-
-class THBlackBar : public QWidget {
-    
-    Q_OBJECT
-    
-        public:
-    THBlackBar (QWidget *parent = 0);
-    ~THBlackBar();
-    
-        public:
-    QAction *addAction (QAction *action);
-    QAction *addAction (const QString& text);
-    void setCheckedAction(int index);
-    
-    QSize minimumSizeHint (void) const;
-    
-        protected:
-    void paintEvent (QPaintEvent *event);
-    
-    void mouseMoveEvent (QMouseEvent *event);
-    void mousePressEvent (QMouseEvent *event);
-    void leaveEvent(QEvent *event);
-    
-        private:
-    void drawUnselectedButton (        QPainter *painter,
-                                const QRect& rect,
-                                const QAction *action);
-    void drawSelectedButton (  QPainter *painter,
-                                const QRect& rect,
-                                const QAction *action);
-    void drawButton (  QPainter *painter,
-                        const QRect& rect,
-                        const QAction *action);
-    void drawButton (  QPainter *painter,
-                        const QRect& rect,
-                        const QLinearGradient& gradient,
-                        const QColor& color,
-                        const QAction *action);
-    
-    QAction *hoveredAction (const QPoint& pos) const;
-    int calculateButtonWidth (void) const;             
-    
-        private:
-    class Private;
-    Private *d;
-};
-
-#endif /* !_THBLACKBAR_H_ */
-
diff --git a/src/thlibrary/thlibrary.pri b/src/thlibrary/thlibrary.pri
deleted file mode 100644 (file)
index e87b1c3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-DEPENDPATH += $$PWD
-INCLUDEPATH += $$PWD
-HEADERS += thblackbar.h
-SOURCES += thblackbar.cpp
index da60d8fb706253a4eba40b8581ba0156e2b286a2..fc794d31d874ea848c8da801216e730d673442d9 100644 (file)
@@ -1,6 +1,9 @@
 #include "updatechecker.h"
 #include "networkaccess.h"
 #include "constants.h"
+#ifdef APP_ACTIVATION
+#include "activation.h"
+#endif
 
 namespace The {
     NetworkAccess* http();
@@ -20,8 +23,10 @@ void UpdateChecker::checkForUpdate() {
 #ifdef APP_WIN
     updateUrl.addQueryItem("os", "win");
 #endif
-#ifdef APP_DEMO
-    updateUrl.addQueryItem("t", "demo");
+#ifdef APP_ACTIVATION
+    QString t = "demo";
+    if (Activation::instance().isActivated()) t = "active";
+    updateUrl.addQueryItem("t", t);
 #endif
 #ifdef APP_MAC_STORE
     updateUrl.addQueryItem("store", "mac");
@@ -52,10 +57,10 @@ bool UpdateCheckerStreamReader::read(QByteArray data) {
     while (!atEnd()) {
         readNext();
         if (isStartElement()) {
-            if (name() == "release") {
+            if (name() == QLatin1String("release")) {
                 while (!atEnd()) {
                     readNext();
-                    if (isStartElement() && name() == "version") {
+                    if (isStartElement() && name() == QLatin1String("version")) {
                         QString remoteVersion = readElementText();
                         qDebug() << remoteVersion << QString(Constants::VERSION);
                         m_needUpdate = remoteVersion != QString(Constants::VERSION);
diff --git a/src/userview.cpp b/src/userview.cpp
new file mode 100644 (file)
index 0000000..af6257a
--- /dev/null
@@ -0,0 +1,5 @@
+#include "userview.h"
+
+UserView::UserView(QWidget *parent) : QWidget(parent) {
+    layout = new QGridLayout(this);
+}
diff --git a/src/userview.h b/src/userview.h
new file mode 100644 (file)
index 0000000..bb03acd
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef USERVIEW_H
+#define USERVIEW_H
+
+#include <QtGui>
+#include "view.h"
+
+class VideoSource;
+
+class UserView : public QWidget, public View {
+
+    Q_OBJECT
+
+public:
+    UserView(QWidget *parent = 0);
+
+signals:
+    void activated(VideoSource *standardFeed);
+    
+private:
+    QGridLayout *layout;
+    
+};
+
+#endif // USERVIEW_H
diff --git a/src/utils.cpp b/src/utils.cpp
new file mode 100644 (file)
index 0000000..01b03b3
--- /dev/null
@@ -0,0 +1,32 @@
+#include "utils.h"
+#ifndef Q_WS_X11
+#include "extra.h"
+#endif
+
+QIcon getIcon(const QString &name) {
+#ifdef Q_WS_X11
+    return QIcon::fromTheme(name);
+#else
+    return Extra::getIcon(name);
+#endif
+}
+
+QIcon Utils::icon(const QString &name) {
+#ifdef Q_WS_X11
+    QString themeName = qApp->property("style").toString();
+    if (themeName == QLatin1String("Ambiance"))
+        return icon(QStringList() << name + "-symbolic" << name);
+    else return getIcon(name);
+#else
+    return Extra::getIcon(name);
+#endif
+}
+
+QIcon Utils::icon(const QStringList &names) {
+    QIcon icon;
+    foreach (QString name, names) {
+        icon = getIcon(name);
+        if (!icon.availableSizes().isEmpty()) break;
+    }
+    return icon;
+}
diff --git a/src/utils.h b/src/utils.h
new file mode 100644 (file)
index 0000000..1b023e8
--- /dev/null
@@ -0,0 +1,17 @@
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <QtGui>
+
+class Utils {
+
+public:
+    static QIcon icon(const QString &name);
+    static QIcon icon(const QStringList &names);
+
+private:
+    Utils() { }
+
+};
+
+#endif // UTILS_H
index 42c5efa3bb08518b2a02ee8fc70c966b2d6831d4..1e65242ca389531707ec680a974530caa2c7acbc 100644 (file)
@@ -19,10 +19,12 @@ Video* Video::clone() {
     cloneVideo->m_title = m_title;
     cloneVideo->m_description = m_description;
     cloneVideo->m_author = m_author;
+    cloneVideo->m_authorUri = m_authorUri;
     cloneVideo->m_webpage = m_webpage;
     cloneVideo->m_streamUrl = m_streamUrl;
     cloneVideo->m_thumbnail = m_thumbnail;
-    cloneVideo->m_thumbnailUrls = m_thumbnailUrls;
+    cloneVideo->m_thumbnailUrl = m_thumbnailUrl;
+    cloneVideo->m_mediumThumbnailUrl = m_mediumThumbnailUrl;
     cloneVideo->m_duration = m_duration;
     cloneVideo->m_published = m_published;
     cloneVideo->m_viewCount = m_viewCount;
@@ -32,19 +34,38 @@ Video* Video::clone() {
     return cloneVideo;
 }
 
-void Video::preloadThumbnail() {
-    if (m_thumbnailUrls.isEmpty()) return;
-    QObject *reply = The::http()->get(m_thumbnailUrls.first());
+void Video::setWebpage(QUrl webpage) {
+    m_webpage = webpage;
+
+    // Get Video ID
+    // youtube-dl line 428
+    // QRegExp re("^((?:http://)?(?:\\w+\\.)?youtube\\.com/(?:(?:v/)|(?:(?:watch(?:\\.php)?)?\\?(?:.+&)?v=)))?([0-9A-Za-z_-]+)(?(1).+)?$");
+    QRegExp re("^https?://www\\.youtube\\.com/watch\\?v=([0-9A-Za-z_-]+).*");
+    bool match = re.exactMatch(m_webpage.toString());
+    if (!match || re.numCaptures() < 1) {
+        qDebug() << QString("Cannot get video id for %1").arg(m_webpage.toString());
+        // emit errorStreamUrl(QString("Cannot get video id for %1").arg(m_webpage.toString()));
+        // loadingStreamUrl = false;
+        return;
+    }
+    videoId = re.cap(1);
+}
+
+void Video::loadThumbnail() {
+    QObject *reply = The::http()->get(m_thumbnailUrl);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(setThumbnail(QByteArray)));
 }
 
 void Video::setThumbnail(QByteArray bytes) {
-    m_thumbnail = QImage::fromData(bytes);
+    m_thumbnail.loadFromData(bytes);
+    m_thumbnail = m_thumbnail.scaled(160, 90);
     emit gotThumbnail();
 }
 
-const QImage Video::thumbnail() const {
-    return m_thumbnail;
+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() {
@@ -55,21 +76,7 @@ void Video::loadStreamUrl() {
     loadingStreamUrl = true;
 
     // https://develop.participatoryculture.org/trac/democracy/browser/trunk/tv/portable/flashscraper.py
-
-    // Get Video ID
-    // youtube-dl line 428
-    // QRegExp re("^((?:http://)?(?:\\w+\\.)?youtube\\.com/(?:(?:v/)|(?:(?:watch(?:\\.php)?)?\\?(?:.+&)?v=)))?([0-9A-Za-z_-]+)(?(1).+)?$");
-    QRegExp re("^http://www\\.youtube\\.com/watch\\?v=([0-9A-Za-z_-]+).*");
-    bool match = re.exactMatch(m_webpage.toString());
-    if (!match || re.numCaptures() < 1) {
-        emit errorStreamUrl(QString("Cannot get video id for %1").arg(m_webpage.toString()));
-        loadingStreamUrl = false;
-        return;
-    }
-    videoId = re.cap(1);
-
     getVideoInfo();
-
 }
 
 void  Video::getVideoInfo() {
@@ -316,3 +323,9 @@ void Video::findVideoUrl(int definitionCode) {
     // see you in gotHeadHeaders()
 
 }
+
+
+QString Video::formattedDuration() const {
+    QString format = m_duration > 3600 ? "h:mm:ss" : "m:ss";
+    return QTime().addSecs(m_duration).toString(format);
+}
index c7b01651fcd874653e7a86c8530917e87cd475a4..4b15e3738aacd6e7d40b3ab628f717c223700123 100644 (file)
@@ -21,19 +21,25 @@ public:
     const QString author() const { return m_author; }
     void setAuthor( QString author ) { m_author = author; }
 
+    const QString authorUri() const { return m_authorUri; }
+    void setAuthorUri( QString authorUri ) { m_authorUri = authorUri; }
+
     const QUrl webpage() const { return m_webpage; }
-    void setWebpage( QUrl webpage ) { m_webpage = webpage; }
+    void setWebpage(QUrl webpage);
+
+    void loadThumbnail();
+    const QPixmap & thumbnail() const { return m_thumbnail; }
 
-    QList<QUrl> thumbnailUrls() const { return m_thumbnailUrls; }
-    void addThumbnailUrl(QUrl url) {
-        m_thumbnailUrls << url;
-    }
+    QString thumbnailUrl() { return m_thumbnailUrl; }
+    void setThumbnailUrl(QString url) { m_thumbnailUrl = url; }
 
-    void preloadThumbnail();
-    const QImage thumbnail() const;
+    void loadMediumThumbnail();
+    QString mediumThumbnailUrl() { return m_mediumThumbnailUrl; }
+    void setMediumThumbnailUrl(QString url) { m_mediumThumbnailUrl = url; }
 
     int duration() const { return m_duration; }
     void setDuration( int duration ) { m_duration = duration; }
+    QString formattedDuration() const;
 
     int viewCount() const { return m_viewCount; }
     void setViewCount( int viewCount ) { m_viewCount = viewCount; }
@@ -46,17 +52,16 @@ public:
     void loadStreamUrl();
     QUrl getStreamUrl() { return m_streamUrl; }
 
-    QString id() { return videoId; }
-
-public slots:
-    void setThumbnail(QByteArray bytes);
+    QString id() const { return videoId; }
 
 signals:
     void gotThumbnail();
+    void gotMediumThumbnail(QByteArray bytes);
     void gotStreamUrl(QUrl streamUrl);
     void errorStreamUrl(QString message);
 
 private slots:
+    void setThumbnail(QByteArray bytes);
     void gotVideoInfo(QByteArray);
     void errorVideoInfo(QNetworkReply*);
     void scrapeWebPage(QByteArray);
@@ -70,18 +75,17 @@ private:
     QString m_title;
     QString m_description;
     QString m_author;
+    QString m_authorUri;
     QUrl m_webpage;
     QUrl m_streamUrl;
-    QImage m_thumbnail;
-    QList<QUrl> m_thumbnailUrls;
+    QPixmap m_thumbnail;
+    QString m_thumbnailUrl;
+    QString m_mediumThumbnailUrl;
     int m_duration;
     QDateTime m_published;
     int m_viewCount;
 
-    // The YouTube video id
-    // This is needed by the gotVideoInfo callback
     QString videoId;
-
     QString videoToken;
     int definitionCode;
 
index 13fecd828164055aa3fa1b6010b9fc8ecc3d5830..695070f7141c2eb195ee42d5d0e9a07ce9b527a8 100644 (file)
@@ -31,9 +31,7 @@ VideoAreaWidget::VideoAreaWidget(QWidget *parent) : QWidget(parent) {
     snapshotPreview = new QLabel(this);
     stackedLayout->addWidget(snapshotPreview);
     
-    setLayout(vLayout);
-    setAcceptDrops(true);
-    
+    setAcceptDrops(true);    
     setMouseTracking(true);
 }
 
index a34cfbfc8057be0026f584572bf0642352581920..4d4fd658463c2903289f461aa2307812f3e4ae67 100644 (file)
@@ -4,21 +4,21 @@
 #include <QWidget>
 #include "video.h"
 #include "loadingwidget.h"
-#include "ListModel.h"
+#include "playlistmodel.h"
 
 class VideoAreaWidget : public QWidget {
 
     Q_OBJECT
 
 public:
-    VideoAreaWidget(QWidget *parent);
+    VideoAreaWidget(QWidget *parent = 0);
     void setVideoWidget(QWidget *videoWidget);
     void setLoadingWidget(LoadingWidget *loadingWidget);
     void showLoading(Video* video);
     void showVideo();
     void showError(QString message);
     void clear();
-    void setListModel(ListModel *listModel) {
+    void setListModel(PlaylistModel *listModel) {
         this->listModel = listModel;
     }
     void showSnapshotPreview(QPixmap pixmap);
@@ -40,7 +40,7 @@ private:
     QStackedLayout *stackedLayout;
     QWidget *videoWidget;
     LoadingWidget *loadingWidget;
-    ListModel *listModel;
+    PlaylistModel *listModel;
     QLabel *messageLabel;
     QLabel *snapshotPreview;
 
index 38998f2169a5fe7fa74b9788296f1a5f7becad65..619c7d197ab0010f6832be81a6c980767372016e 100644 (file)
@@ -9,5 +9,5 @@ QStringList VideoMimeData::formats() const {
 }
 
 bool VideoMimeData::hasFormat( const QString &mimeType ) const {
-    return mimeType == "application/x-minitube-video";
+    return mimeType == QLatin1String("application/x-minitube-video");
 }
diff --git a/src/videosource.cpp b/src/videosource.cpp
new file mode 100644 (file)
index 0000000..d2da7fb
--- /dev/null
@@ -0,0 +1,6 @@
+#include "videosource.h"
+
+void VideoSource::setParam(QString name, QVariant value) {
+    bool success = setProperty(name.toUtf8(), value);
+    if (!success) qWarning() << "Failed to set property" << name << value.toString();
+}
diff --git a/src/videosource.h b/src/videosource.h
new file mode 100644 (file)
index 0000000..767697e
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef VIDEOSOURCE_H
+#define VIDEOSOURCE_H
+
+#include <QtCore>
+
+class Video;
+
+class VideoSource : public QObject {
+
+    Q_OBJECT
+
+public:
+    VideoSource(QObject *parent = 0) : QObject(parent) { }
+    virtual void loadVideos(int max, int skip) = 0;
+    virtual void abort() = 0;
+    virtual const QStringList & getSuggestions() = 0;
+    virtual QString getName() = 0;
+
+public slots:
+    void setParam(QString name, QVariant value);
+
+signals:
+    void gotVideos(QList<Video*> videos);
+    void finished(int total);
+    void error(QString message);
+    void nameChanged(QString name);
+
+};
+
+#endif // VIDEOSOURCE_H
diff --git a/src/videosourcewidget.cpp b/src/videosourcewidget.cpp
new file mode 100644 (file)
index 0000000..90b893b
--- /dev/null
@@ -0,0 +1,172 @@
+#include "videosourcewidget.h"
+#include "videosource.h"
+#include "video.h"
+#include "fontutils.h"
+
+VideoSourceWidget::VideoSourceWidget(VideoSource *videoSource, QWidget *parent)
+    : QWidget(parent),
+      videoSource(videoSource),
+      hovered(false),
+      pressed(false) {
+
+    setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+    setCursor(Qt::PointingHandCursor);
+    setFocusPolicy(Qt::StrongFocus);
+
+    connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
+            SLOT(previewVideo(QList<Video*>)), Qt::UniqueConnection);
+    videoSource->loadVideos(1, 1);
+}
+
+void VideoSourceWidget::activate() {
+    emit activated(videoSource);
+}
+
+void VideoSourceWidget::previewVideo(QList<Video*> videos) {
+    videoSource->disconnect();
+    if (videos.isEmpty()) return;
+    video = videos.first();
+    connect(video, SIGNAL(gotMediumThumbnail(QByteArray)),
+            SLOT(setPixmapData(QByteArray)), Qt::UniqueConnection);
+    video->loadMediumThumbnail();
+}
+
+void VideoSourceWidget::setPixmapData(QByteArray bytes) {
+    video->deleteLater();
+    video = 0;
+    pixmap.loadFromData(bytes);
+    update();
+}
+
+QPixmap VideoSourceWidget::playPixmap() {
+    const int s = height() / 2;
+    const int padding = s / 8;
+    QPixmap playIcon = QPixmap(s, s);
+    playIcon.fill(Qt::transparent);
+    QPainter painter(&playIcon);
+    QPolygon polygon;
+    polygon << QPoint(padding, padding)
+            << QPoint(s - padding, s / 2)
+            << QPoint(padding, s - padding);
+    painter.setRenderHints(QPainter::Antialiasing, true);
+
+    // QColor color = pressed ? Qt::black : Qt::white;
+    QColor color = Qt::white;
+    painter.setBrush(color);
+    QPen pen;
+    pen.setColor(color);
+    pen.setWidth(10);
+    pen.setJoinStyle(Qt::RoundJoin);
+    pen.setCapStyle(Qt::RoundCap);
+    painter.setPen(pen);
+    painter.drawPolygon(polygon);
+    return playIcon;
+}
+
+void VideoSourceWidget::paintEvent(QPaintEvent *) {
+    if (pixmap.isNull()) return;
+
+    QPainter p(this);
+
+    const int w = width();
+    const int h = height();
+
+    int xOffset = 0;
+    int xOrigin = 0;
+    int wDiff = pixmap.width() - w;
+    if (wDiff > 0) xOffset = wDiff / 2;
+    else xOrigin = -wDiff / 2;
+    int yOffset = 0;
+    int yOrigin = 0;
+    int hDiff = pixmap.height() - h;
+    if (hDiff > 0) yOffset = hDiff / 4;
+    else yOrigin = -hDiff / 2;
+    p.drawPixmap(xOrigin, yOrigin, pixmap, xOffset, yOffset, w, h);
+
+    if (hovered) {
+        QPixmap play = playPixmap();
+        p.save();
+        p.setOpacity(.5);
+        p.drawPixmap(
+                    (w - play.width()) / 2,
+                    (h * 2/3 - play.height()) / 2,
+                    play
+                    );
+        p.restore();
+    }
+
+    QRect nameBox = rect();
+    nameBox.adjust(0, 0, 0, -h*2/3);
+    nameBox.translate(0, h - nameBox.height());
+    p.save();
+    p.setPen(Qt::NoPen);
+    p.setBrush(QColor(0, 0, 0, 128));
+    p.drawRect(nameBox);
+    p.restore();
+
+    QString name = videoSource->getName();
+    bool tooBig = false;
+    p.save();
+    p.setFont(FontUtils::medium());
+    QRect textBox = p.boundingRect(nameBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+    if (textBox.height() > nameBox.height()) {
+        p.setFont(font());
+        textBox = p.boundingRect(nameBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+        if (textBox.height() > nameBox.height()) {
+            p.setClipRect(nameBox);
+            tooBig = true;
+        }
+    }
+    p.setPen(Qt::white);
+    if (tooBig)
+        p.drawText(nameBox, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, name);
+    else
+        p.drawText(textBox, Qt::AlignCenter | Qt::TextWordWrap, name);
+    p.restore();
+
+    if (hasFocus()) {
+        p.save();
+        QPen pen;
+        pen.setBrush(palette().highlight());
+        pen.setWidth(2);
+        p.setPen(pen);
+        p.drawRect(rect());
+        p.restore();
+    }
+}
+
+void VideoSourceWidget::mouseMoveEvent (QMouseEvent *event) {
+    QWidget::mouseMoveEvent(event);
+    hovered = rect().contains(event->pos());
+}
+
+void VideoSourceWidget::mousePressEvent(QMouseEvent *event) {
+    QWidget::mousePressEvent(event);
+    if (event->button() != Qt::LeftButton) return;
+    pressed = true;
+    update();
+}
+
+void VideoSourceWidget::mouseReleaseEvent(QMouseEvent *event) {
+    QWidget::mouseReleaseEvent(event);
+    if (event->button() != Qt::LeftButton) return;
+    pressed = false;
+    if (hovered) emit activated(videoSource);
+}
+
+void VideoSourceWidget::leaveEvent(QEvent *event) {
+    QWidget::leaveEvent(event);
+    hovered = false;
+    update();
+}
+
+void VideoSourceWidget::enterEvent(QEvent *event) {
+    QWidget::enterEvent(event);
+    hovered = true;
+    update();
+}
+
+void VideoSourceWidget::keyReleaseEvent(QKeyEvent *event) {
+    if (event->key() == Qt::Key_Return)
+        emit activated(videoSource);
+}
diff --git a/src/videosourcewidget.h b/src/videosourcewidget.h
new file mode 100644 (file)
index 0000000..b2d9236
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef VIDEOSOURCEWIDGET_H
+#define VIDEOSOURCEWIDGET_H
+
+#include <QtGui>
+
+class Video;
+class VideoSource;
+
+class VideoSourceWidget : public QWidget {
+
+    Q_OBJECT
+
+public:
+    VideoSourceWidget(VideoSource *videoSource, QWidget *parent = 0);
+
+signals:
+    void activated(VideoSource *videoSource);
+
+protected:
+    void paintEvent(QPaintEvent *);
+    void mouseMoveEvent(QMouseEvent *event);
+    void mousePressEvent(QMouseEvent *event);
+    void mouseReleaseEvent(QMouseEvent *event);
+    void enterEvent(QEvent *event);
+    void leaveEvent(QEvent *event);
+    void keyReleaseEvent(QKeyEvent *event);
+
+private slots:
+    void activate();
+    void previewVideo(QList<Video*> videos);
+    void setPixmapData(QByteArray bytes);
+
+private:
+    QPixmap playPixmap();
+    VideoSource *videoSource;
+    QPixmap pixmap;
+    Video *video;
+
+    bool hovered;
+    bool pressed;
+};
+
+#endif // VIDEOSOURCEWIDGET_H
diff --git a/src/view.h b/src/view.h
new file mode 100644 (file)
index 0000000..0609c38
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef VIEW_H
+#define VIEW_H
+
+class View {
+
+public:
+    virtual QHash<QString, QVariant> metadata() { return QHash<QString, QVariant>(); }
+    virtual void appear() {}
+    virtual void disappear() {}
+
+};
+
+#endif // VIEW_H
diff --git a/src/youtubesearch.cpp b/src/youtubesearch.cpp
deleted file mode 100644 (file)
index 3263525..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-#include "youtubesearch.h"
-#include "youtubestreamreader.h"
-#include "constants.h"
-#include "networkaccess.h"
-
-namespace The {
-    NetworkAccess* http();
-}
-
-YouTubeSearch::YouTubeSearch() : QObject() {}
-
-void YouTubeSearch::search(SearchParams *searchParams, int max, int skip) {
-    this->abortFlag = false;
-
-    QUrl url("http://gdata.youtube.com/feeds/api/videos/");
-    url.addQueryItem("v", "2");
-
-    url.addQueryItem("max-results", QString::number(max));
-    url.addQueryItem("start-index", QString::number(skip));
-
-    if (!searchParams->keywords().isEmpty()) {
-        if (searchParams->keywords().startsWith("http://") ||
-                searchParams->keywords().startsWith("https://")) {
-            url.addQueryItem("q", YouTubeSearch::videoIdFromUrl(searchParams->keywords()));
-        } else url.addQueryItem("q", searchParams->keywords());
-    }
-
-    if (!searchParams->author().isEmpty())
-        url.addQueryItem("author", searchParams->author());
-
-    switch (searchParams->sortBy()) {
-    case SearchParams::SortByNewest:
-        url.addQueryItem("orderby", "published");
-        break;
-    case SearchParams::SortByViewCount:
-        url.addQueryItem("orderby", "viewCount");
-        break;
-    case SearchParams::SortByRating:
-        url.addQueryItem("orderby", "rating");
-        break;
-    }
-
-    switch (searchParams->duration()) {
-    case SearchParams::DurationShort:
-        url.addQueryItem("duration", "short");
-        break;
-    case SearchParams::DurationMedium:
-        url.addQueryItem("duration", "medium");
-        break;
-    case SearchParams::DurationLong:
-        url.addQueryItem("duration", "long");
-        break;
-    }
-
-    switch (searchParams->time()) {
-    case SearchParams::TimeToday:
-        url.addQueryItem("time", "today");
-        break;
-    case SearchParams::TimeWeek:
-        url.addQueryItem("time", "this_week");
-        break;
-    case SearchParams::TimeMonth:
-        url.addQueryItem("time", "this_month");
-        break;
-    }
-
-    switch (searchParams->quality()) {
-    case SearchParams::QualityHD:
-        url.addQueryItem("hd", "true");
-        break;
-    }
-
-    QObject *reply = The::http()->get(url);
-    connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
-    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(error(QNetworkReply*)));
-
-}
-
-void YouTubeSearch::error(QNetworkReply *reply) {
-    emit error(reply->errorString());
-}
-
-void YouTubeSearch::parseResults(QByteArray data) {
-
-    YouTubeStreamReader reader;
-    if (!reader.read(data)) {
-        qDebug() << "Error parsing XML";
-    }
-    videos = reader.getVideos();
-    suggestions = reader.getSuggestions();
-
-    foreach (Video *video, videos) {
-        // send it to the model
-        emit gotVideo(video);
-    }
-
-    foreach (Video *video, videos) {
-        // preload the thumb
-        if (abortFlag) return;
-        video->preloadThumbnail();
-    }
-
-    emit finished(videos.size());
-}
-
-QList<Video*> YouTubeSearch::getResults() {
-    return videos;
-}
-
-const QStringList & YouTubeSearch::getSuggestions() const {
-    return suggestions;
-}
-
-void YouTubeSearch::abort() {
-    this->abortFlag = true;
-}
-
-QString YouTubeSearch::videoIdFromUrl(QString url) {
-    QRegExp re = QRegExp("^.*\\?v=([^&]+).*$");
-    if (re.exactMatch(url)) {
-        QString videoId = re.cap(1);
-        videoId.remove('-');
-        return videoId;
-    }
-    return QString();
-}
diff --git a/src/youtubesearch.h b/src/youtubesearch.h
deleted file mode 100644 (file)
index 254ea02..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef YOUTUBESEARCH_H
-#define YOUTUBESEARCH_H
-
-#include "video.h"
-#include "searchparams.h"
-
-class YouTubeSearch : public QObject {
-
-    Q_OBJECT
-
-public:
-    YouTubeSearch();
-    void search(SearchParams *searchParams, int max, int skip);
-    void abort();
-    QList<Video*> getResults();
-    const QStringList & getSuggestions() const;
-    static QString videoIdFromUrl(QString url);
-
-signals:
-    void gotVideo(Video*);
-    void finished(int total);
-    void error(QString message);
-
-private slots:
-    void parseResults(QByteArray data);
-    void error(QNetworkReply *reply);
-
-private:
-
-    QList<Video*> videos;
-    QStringList suggestions;
-
-    bool abortFlag;
-
-};
-
-#endif // YOUTUBESEARCH_H
diff --git a/src/youtubestreamreader.cpp b/src/youtubestreamreader.cpp
deleted file mode 100644 (file)
index 9869da7..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-#include "youtubestreamreader.h"
-#include <QtGui>
-
-
-YouTubeStreamReader::YouTubeStreamReader() {
-
-}
-
-bool YouTubeStreamReader::read(QByteArray data) {
-    addData(data);
-
-    while (!atEnd()) {
-        readNext();
-        if (isStartElement()) {
-            if (name() == "feed") {
-                while (!atEnd()) {
-                    readNext();
-                    if (isStartElement() && name() == "entry") {
-                        readEntry();
-                    } else if (name() == "link"
-                        && attributes().value("rel").toString()
-                           == "http://schemas.google.com/g/2006#spellcorrection") {
-                        suggestions << attributes().value("title").toString();
-                    }
-                }
-            }
-        }
-    }
-
-    return !error();
-}
-
-void YouTubeStreamReader::readMediaGroup() {
-
-}
-
-void YouTubeStreamReader::readEntry() {
-    Video* video = new Video();
-    // qDebug(" *** ENTRY ***");
-
-    while (!atEnd()) {
-        readNext();
-
-        /*
-        qDebug() << name();
-        QXmlStreamAttribute attribute;
-        foreach (attribute, attributes())
-            qDebug() << attribute.name() << ":" << attribute.value();
-        */
-
-        if (isEndElement() && name() == "entry") break;
-        if (isStartElement()) {
-
-            if (name() == "link"
-                && attributes().value("rel").toString() == "alternate"
-                && attributes().value("type").toString() == "text/html"
-                ) {
-                QString webpage = attributes().value("href").toString();
-                webpage.remove("&feature=youtube_gdata");
-                // qDebug() << "Webpage: " << webpage;
-                video->setWebpage(QUrl(webpage));
-
-            } else if (name() == "author") {
-                readNext();
-                if (name() == "name") {
-                    QString author = readElementText();
-                    // qDebug() << "Author: " << author;
-                    video->setAuthor(author);
-                }
-            } else if (name() == "published") {
-                video->setPublished(QDateTime::fromString(readElementText(), Qt::ISODate));
-            } else if (namespaceUri() == "http://gdata.youtube.com/schemas/2007" && name() == "statistics") {
-
-                QString viewCount = attributes().value("viewCount").toString();
-                // qDebug() << "viewCount: " << viewCount;
-                video->setViewCount(viewCount.toInt());
-            }
-            else if (namespaceUri() == "http://search.yahoo.com/mrss/" && name() == "group") {
-
-                // read media group
-                while (!atEnd()) {
-                    readNext();
-                    if (isEndElement() && name() == "group") break;
-                    if (isStartElement()) {
-                        if (name() == "thumbnail") {
-                            // qDebug() << "Thumb: " << attributes().value("url").toString();
-                            // video->thumbnailUrls() << QUrl(attributes().value("url").toString());
-                            video->addThumbnailUrl(QUrl(attributes().value("url").toString()));
-                        }
-                        else if (name() == "title") {
-                            QString title = readElementText();
-                            // qDebug() << "Title: " << title;
-                            video->setTitle(title);
-                        }
-                        else if (name() == "description") {
-                            QString desc = readElementText();
-                            // qDebug() << "Description: " << desc;
-                            video->setDescription(desc);
-                        }
-                        else if (name() == "duration") {
-                            QString duration = attributes().value("seconds").toString();
-                            // qDebug() << "Duration: " << duration;
-                            video->setDuration(duration.toInt());
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    videos.append(video);
-
-}
-
-QList<Video*> YouTubeStreamReader::getVideos() {
-    return videos;
-}
-
-const QStringList & YouTubeStreamReader::getSuggestions() const {
-    return suggestions;
-}
diff --git a/src/youtubestreamreader.h b/src/youtubestreamreader.h
deleted file mode 100644 (file)
index 8c8c617..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef YOUTUBESTREAMREADER_H
-#define YOUTUBESTREAMREADER_H
-
-#include <QXmlStreamReader>
-#include <QBuffer>
-#include "video.h"
-
-class YouTubeStreamReader : public QXmlStreamReader
-{
-public:
-    YouTubeStreamReader();
-    bool read(QByteArray data);
-    QList<Video*> getVideos();
-    const QStringList & getSuggestions() const;
-
-private:
-    void readMediaGroup();
-    void readEntry();
-    QList<Video*> videos;
-    QStringList suggestions;
-};
-
-#endif // YOUTUBESTREAMREADER_H
diff --git a/src/youtubesuggest.cpp b/src/youtubesuggest.cpp
deleted file mode 100644 (file)
index c1965ca..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "youtubesuggest.h"
-#include <QtXml>
-#include "networkaccess.h"
-
-#define GSUGGEST_URL "http://suggestqueries.google.com/complete/search?ds=yt&output=toolbar&hl=%1&q=%2"
-
-namespace The {
-    NetworkAccess* http();
-}
-
-YouTubeSuggest::YouTubeSuggest(QObject *parent) : Suggester() {
-
-}
-
-void YouTubeSuggest::suggest(QString query) {
-    QString locale = QLocale::system().name().replace("_", "-");
-    // case for system locales such as "C"
-    if (locale.length() < 2) {
-        locale = "en-US";
-    }
-
-    QString url = QString(GSUGGEST_URL).arg(locale, query);
-
-    QObject *reply = The::http()->get(url);
-    connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
-}
-
-void YouTubeSuggest::handleNetworkData(QByteArray response) {
-    QStringList choices;
-
-    QXmlStreamReader xml(response);
-    while (!xml.atEnd()) {
-        xml.readNext();
-        if (xml.tokenType() == QXmlStreamReader::StartElement) {
-            if (xml.name() == "suggestion") {
-                QStringRef str = xml.attributes().value("data");
-                choices << str.toString();
-            }
-        }
-    }
-    emit ready(choices);
-}
diff --git a/src/youtubesuggest.h b/src/youtubesuggest.h
deleted file mode 100644 (file)
index 2d2221e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef YOUTUBESUGGEST_H
-#define YOUTUBESUGGEST_H
-
-#include <QtCore>
-
-#include "suggester.h"
-
-class YouTubeSuggest : public Suggester {
-
-    Q_OBJECT
-
-public:
-    YouTubeSuggest(QObject *parent = 0);
-    void suggest(QString query);
-
-signals:
-    void ready(QStringList);
-
-private slots:
-    void handleNetworkData(QByteArray response);
-
-};
-
-#endif // YOUTUBESUGGEST_H
diff --git a/src/ytcategories.cpp b/src/ytcategories.cpp
new file mode 100644 (file)
index 0000000..92e2dbc
--- /dev/null
@@ -0,0 +1,52 @@
+#include "ytcategories.h"
+#include "networkaccess.h"
+#include <QtXml>
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTCategories::YTCategories(QObject *parent) : QObject(parent) { }
+
+void YTCategories::loadCategories(QString language) {
+    if (language.isEmpty())
+        language = QLocale::system().uiLanguages().first();
+    lastLanguage = language;
+
+    QString url = "http://gdata.youtube.com/schemas/2007/categories.cat?hl=" + language;
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(parseCategories(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTCategories::parseCategories(QByteArray bytes) {
+    QList<YTCategory> categories;
+
+    QXmlStreamReader xml(bytes);
+    while (!xml.atEnd()) {
+        xml.readNext();
+        if (xml.isStartElement() && xml.name() == QLatin1String("category")) {
+            QString term = xml.attributes().value("term").toString();
+            QString label = xml.attributes().value("label").toString();
+            while(xml.readNextStartElement())
+                if (xml.name() == QLatin1String("assignable")) {
+                    YTCategory category;
+                    category.term = term;
+                    category.label = label;
+                    categories << category;
+                } else xml.skipCurrentElement();
+        }
+    }
+
+    if (xml.hasError()) {
+        emit error(xml.errorString());
+        return;
+    }
+
+    emit categoriesLoaded(categories);
+}
+
+void YTCategories::requestError(QNetworkReply *reply) {
+    if (lastLanguage != "en") loadCategories("en");
+    else emit error(reply->errorString());
+}
diff --git a/src/ytcategories.h b/src/ytcategories.h
new file mode 100644 (file)
index 0000000..7513f2d
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef YTCATEGORIES_H
+#define YTCATEGORIES_H
+
+#include <QtNetwork>
+
+struct YTCategory {
+    QString term;
+    QString label;
+};
+
+class YTCategories : public QObject {
+
+    Q_OBJECT
+
+public:
+    YTCategories(QObject *parent = 0);
+    void loadCategories(QString language = QString());
+    
+signals:
+    void categoriesLoaded(const QList<YTCategory> &);
+    void error(QString message);
+
+private slots:
+    void parseCategories(QByteArray bytes);
+    void requestError(QNetworkReply *reply);
+
+private:
+    QString lastLanguage;
+
+};
+
+#endif // YTCATEGORIES_H
diff --git a/src/ytfeedreader.cpp b/src/ytfeedreader.cpp
new file mode 100644 (file)
index 0000000..117f92b
--- /dev/null
@@ -0,0 +1,107 @@
+#include "ytfeedreader.h"
+#include "video.h"
+
+YTFeedReader::YTFeedReader(const QByteArray &bytes) : QXmlStreamReader(bytes) {
+    while (!atEnd()) {
+        readNext();
+        if (isStartElement() && name() == QLatin1String("entry")) {
+            readEntry();
+        } else if (name() == QLatin1String("link")
+                   && attributes().value("rel").toString()
+                   == QLatin1String("http://schemas.google.com/g/2006#spellcorrection")) {
+            suggestions << attributes().value("title").toString();
+        }
+    }
+}
+
+void YTFeedReader::readEntry() {
+    Video* video = new Video();
+
+    while (!atEnd()) {
+        readNext();
+
+        /*
+        qDebug() << name();
+        QXmlStreamAttribute attribute;
+        foreach (attribute, attributes())
+            qDebug() << attribute.name() << ":" << attribute.value();
+        */
+
+        if (isEndElement() && name() == QLatin1String("entry")) break;
+        if (isStartElement()) {
+
+            if (name() == QLatin1String("link")
+                    && attributes().value("rel").toString() == QLatin1String("alternate")
+                    && attributes().value("type").toString() == QLatin1String("text/html")
+                    ) {
+                QString webpage = attributes().value("href").toString();
+                webpage.remove("&feature=youtube_gdata");
+                video->setWebpage(QUrl(webpage));
+            } else if (name() == QLatin1String("author")) {
+                while(readNextStartElement())
+                    if (name() == QLatin1String("name")) {
+                        QString author = readElementText();
+                        video->setAuthor(author);
+                    } else if (name() == QLatin1String("uri")) {
+                        QString uri = readElementText();
+                        int i = uri.lastIndexOf('/');
+                        if (i != -1) uri = uri.mid(i+1);
+                        video->setAuthorUri(uri);
+                    } else skipCurrentElement();
+            } else if (name() == QLatin1String("published")) {
+                video->setPublished(QDateTime::fromString(readElementText(), Qt::ISODate));
+            } else if (namespaceUri() == QLatin1String("http://gdata.youtube.com/schemas/2007")
+                       && name() == QLatin1String("statistics")) {
+                QString viewCount = attributes().value("viewCount").toString();
+                video->setViewCount(viewCount.toInt());
+            }
+            else if (namespaceUri() == QLatin1String("http://search.yahoo.com/mrss/")
+                     && name() == QLatin1String("group")) {
+
+                // read media group
+                while (!atEnd()) {
+                    readNext();
+                    if (isEndElement() && name() == QLatin1String("group")) break;
+                    if (isStartElement()) {
+                        if (name() == QLatin1String("thumbnail")) {
+                            // qDebug() << "Thumb: " << attributes().value("url").toString();
+                            QStringRef name = attributes().value("yt:name");
+                            if (name == QLatin1String("mqdefault"))
+                                video->setThumbnailUrl(
+                                            attributes().value("url").toString());
+                            else if (name == QLatin1String("hqdefault"))
+                                video->setMediumThumbnailUrl(
+                                            attributes().value("url").toString());
+                        }
+                        else if (name() == QLatin1String("title")) {
+                            QString title = readElementText();
+                            // qDebug() << "Title: " << title;
+                            video->setTitle(title);
+                        }
+                        else if (name() == QLatin1String("description")) {
+                            QString desc = readElementText();
+                            // qDebug() << "Description: " << desc;
+                            video->setDescription(desc);
+                        }
+                        else if (name() == QLatin1String("duration")) {
+                            QString duration = attributes().value("seconds").toString();
+                            // qDebug() << "Duration: " << duration;
+                            video->setDuration(duration.toInt());
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    videos.append(video);
+
+}
+
+const QList<Video *> &YTFeedReader::getVideos() {
+    return videos;
+}
+
+const QStringList & YTFeedReader::getSuggestions() const {
+    return suggestions;
+}
diff --git a/src/ytfeedreader.h b/src/ytfeedreader.h
new file mode 100644 (file)
index 0000000..3ee6142
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef YTFEEDREADER_H
+#define YTFEEDREADER_H
+
+#include <QtXml>
+
+class Video;
+
+class YTFeedReader : public QXmlStreamReader {
+
+public:
+    YTFeedReader(const QByteArray &bytes);
+    const QList<Video*> & getVideos();
+    const QStringList & getSuggestions() const;
+
+private:
+    void readEntry();
+    QList<Video*> videos;
+    QStringList suggestions;
+};
+
+#endif // YTFEEDREADER_H
diff --git a/src/ytregions.cpp b/src/ytregions.cpp
new file mode 100644 (file)
index 0000000..63f8f14
--- /dev/null
@@ -0,0 +1,161 @@
+#include "ytregions.h"
+
+YTRegions::YTRegions() : QObject() { }
+
+const QList<YTRegion> & YTRegions::list() {
+    static QList<YTRegion> list;
+    if (list.isEmpty()) {
+        list << r(tr("Algeria"), "DZ")
+             << r(tr("Argentina"), "AR")
+             << r(tr("Australia"), "AU")
+             << r(tr("Belgium"), "BE")
+             << r(tr("Brazil"), "BR")
+             << r(tr("Canada"), "CA")
+             << r(tr("Chile"), "CL")
+             << r(tr("Colombia"), "CO")
+             << r(tr("Czech Republic"), "CZ")
+             << r(tr("Egypt"), "EG")
+             << r(tr("France"), "FR")
+             << r(tr("Germany"), "DE")
+             << r(tr("Ghana"), "GH")
+             << r(tr("Greece"), "GR")
+             << r(tr("Hong Kong"), "HK")
+             << r(tr("Hungary"), "HU")
+             << r(tr("India"), "IN")
+             << r(tr("Indonesia"), "ID")
+             << r(tr("Ireland"), "IE")
+             << r(tr("Israel"), "IL")
+             << r(tr("Italy"), "IT")
+             << r(tr("Japan"), "JP")
+             << r(tr("Jordan"), "JO")
+             << r(tr("Kenya"), "KE")
+             << r(tr("Malaysia"), "MY")
+             << r(tr("Mexico"), "MX")
+             << r(tr("Morocco"), "MA")
+             << r(tr("Netherlands"), "NL")
+             << r(tr("New Zealand"), "NZ")
+             << r(tr("Nigeria"), "NG")
+             << r(tr("Peru"), "PE")
+             << r(tr("Philippines"), "PH")
+             << r(tr("Poland"), "PL")
+             << r(tr("Russia"), "RU")
+             << r(tr("Saudi Arabia"), "SA")
+             << r(tr("Singapore"), "SG")
+             << r(tr("South Africa"), "ZA")
+             << r(tr("South Korea"), "KR")
+             << r(tr("Spain"), "ES")
+             << r(tr("Sweden"), "SE")
+             << r(tr("Taiwan"), "TW")
+             << r(tr("Tunisia"), "TN")
+             << r(tr("Turkey"), "TR")
+             << r(tr("Uganda"), "UG")
+             << r(tr("United Arab Emirates"), "AE")
+             << r(tr("United Kingdom"), "GB")
+             << r(tr("Yemen"), "YE");
+/*
+        list << r(QLocale::Algeria, "DZ")
+             << r(QLocale::Argentina, "AR")
+             << r(QLocale::Australia, "AU")
+             << r(QLocale::Belgium, "BE")
+             << r(QLocale::Brazil, "BR")
+             << r(QLocale::Canada, "CA")
+             << r(QLocale::Chile, "CL")
+             << r(QLocale::Colombia, "CO")
+             << r(QLocale::CzechRepublic, "CZ")
+             << r(QLocale::Egypt, "EG")
+             << r(QLocale::France, "FR")
+             << r(QLocale::Germany, "DE")
+             << r(QLocale::Ghana, "GH")
+             << r(QLocale::Greece, "GR")
+             << r(QLocale::HongKong, "HK")
+             << r(QLocale::Hungary, "HU")
+             << r(QLocale::India, "IN")
+             << r(QLocale::Indonesia, "ID")
+             << r(QLocale::Ireland, "IE")
+             << r(QLocale::Israel, "IL")
+             << r(QLocale::Italy, "IT")
+             << r(QLocale::Japan, "JP")
+             << r(QLocale::Jordan, "JO")
+             << r(QLocale::Kenya, "KE")
+             << r(QLocale::Malaysia, "MY")
+             << r(QLocale::Mexico, "MX")
+             << r(QLocale::Morocco, "MA")
+             << r(QLocale::Netherlands, "NL")
+             << r(QLocale::NewZealand, "NZ")
+             << r(QLocale::Nigeria, "NG")
+             << r(QLocale::Peru, "PE")
+             << r(QLocale::Philippines, "PH")
+             << r(QLocale::Poland, "PL")
+             << r(QLocale::RussianFederation, "RU")
+             << r(QLocale::SaudiArabia, "SA")
+             << r(QLocale::Singapore, "SG")
+             << r(QLocale::SouthAfrica, "ZA")
+             << r(QLocale::RepublicOfKorea, "KR")
+             << r(QLocale::Spain, "ES")
+             << r(QLocale::Sweden, "SE")
+             << r(QLocale::Taiwan, "TW")
+             << r(QLocale::Tunisia, "TN")
+             << r(QLocale::Turkey, "TR")
+             << r(QLocale::Uganda, "UG")
+             << r(QLocale::UnitedArabEmirates, "AE")
+             << r(QLocale::UnitedKingdom, "GB")
+             << r(QLocale::Yemen, "YE");
+             */
+        qSort(list);
+    }
+    return list;
+}
+
+YTRegion YTRegions::r(QString name, QString id) {
+    YTRegion r = {id, name};
+    return r;
+}
+
+const YTRegion & YTRegions::localRegion() {
+    static YTRegion region;
+    if (region.name.isEmpty()) {
+        QString country = QLocale::system().name().right(2);
+        foreach (YTRegion r, list())
+            if (r.id == country) {
+                region = r;
+                break;
+            } // else qDebug() << r.id << country;
+    }
+    return region;
+}
+
+const YTRegion & YTRegions::worldwideRegion() {
+    static YTRegion region = {"", tr("Worldwide")};
+    return region;
+}
+
+void YTRegions::setRegion(QString regionId) {
+    QSettings settings;
+    settings.setValue("regionId", regionId);
+}
+
+QString YTRegions::currentRegionId() {
+    QSettings settings;
+    return settings.value("regionId").toString();
+}
+
+YTRegion YTRegions::currentRegion() {
+    return regionById(currentRegionId());
+}
+
+YTRegion YTRegions::regionById(QString id) {
+    if (id.isEmpty()) return worldwideRegion();
+    YTRegion region;
+    foreach (YTRegion r, list())
+        if (r.id == id) {
+            region = r;
+            break;
+        }
+    if (region.name.isEmpty()) return worldwideRegion();
+    return region;
+}
+
+QIcon YTRegions::iconForRegionId(QString regionId) {
+    if (regionId.isEmpty()) return QIcon(":images/worldwide.png");
+    return QIcon(":flags/" + regionId.toLower() + ".png");
+}
diff --git a/src/ytregions.h b/src/ytregions.h
new file mode 100644 (file)
index 0000000..029c0b9
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef YTREGIONS_H
+#define YTREGIONS_H
+
+#include <QtGui>
+
+struct YTRegion {
+    QString id;
+    QString name;
+    bool operator<(const YTRegion &other) const {
+        return name < other.name;
+    }
+};
+
+class YTRegions : public QObject {
+
+public:
+    static const QList<YTRegion> & list();
+    static const YTRegion & localRegion();
+    static const YTRegion & worldwideRegion();
+    static void setRegion(QString regionId);
+    static QString currentRegionId();
+    static YTRegion currentRegion();
+    static QIcon iconForRegionId(QString regionId);
+
+private:
+    static YTRegion r(QString name, QString id);
+    static YTRegion regionById(QString id);
+    YTRegions();
+
+};
+
+#endif // YTREGIONS_H
diff --git a/src/ytsearch.cpp b/src/ytsearch.cpp
new file mode 100644 (file)
index 0000000..9f3fd34
--- /dev/null
@@ -0,0 +1,125 @@
+#include "ytsearch.h"
+#include "ytfeedreader.h"
+#include "constants.h"
+#include "networkaccess.h"
+#include "searchparams.h"
+#include "video.h"
+
+namespace The {
+    NetworkAccess* http();
+}
+
+YTSearch::YTSearch(SearchParams *searchParams, QObject *parent) :
+    VideoSource(parent),
+    searchParams(searchParams) {
+    searchParams->setParent(this);
+}
+
+void YTSearch::loadVideos(int max, int skip) {
+    aborted = false;
+
+    QUrl url("http://gdata.youtube.com/feeds/api/videos/");
+    url.addQueryItem("v", "2");
+
+    url.addQueryItem("max-results", QString::number(max));
+    url.addQueryItem("start-index", QString::number(skip));
+
+    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());
+    }
+
+    if (!searchParams->author().isEmpty())
+        url.addQueryItem("author", searchParams->author());
+
+    switch (searchParams->sortBy()) {
+    case SearchParams::SortByNewest:
+        url.addQueryItem("orderby", "published");
+        break;
+    case SearchParams::SortByViewCount:
+        url.addQueryItem("orderby", "viewCount");
+        break;
+    case SearchParams::SortByRating:
+        url.addQueryItem("orderby", "rating");
+        break;
+    }
+
+    switch (searchParams->duration()) {
+    case SearchParams::DurationShort:
+        url.addQueryItem("duration", "short");
+        break;
+    case SearchParams::DurationMedium:
+        url.addQueryItem("duration", "medium");
+        break;
+    case SearchParams::DurationLong:
+        url.addQueryItem("duration", "long");
+        break;
+    }
+
+    switch (searchParams->time()) {
+    case SearchParams::TimeToday:
+        url.addQueryItem("time", "today");
+        break;
+    case SearchParams::TimeWeek:
+        url.addQueryItem("time", "this_week");
+        break;
+    case SearchParams::TimeMonth:
+        url.addQueryItem("time", "this_month");
+        break;
+    }
+
+    switch (searchParams->quality()) {
+    case SearchParams::QualityHD:
+        url.addQueryItem("hd", "true");
+        break;
+    }
+
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(parseResults(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTSearch::abort() {
+    aborted = true;
+}
+
+const QStringList & YTSearch::getSuggestions() {
+    return suggestions;
+}
+
+QString YTSearch::getName() {
+    if (!name.isEmpty()) return name;
+    if (!searchParams->keywords().isEmpty()) return searchParams->keywords();
+    return QString();
+}
+
+void YTSearch::parseResults(QByteArray data) {
+    if (aborted) return;
+
+    YTFeedReader reader(data);
+    QList<Video*> videos = reader.getVideos();
+    suggestions = reader.getSuggestions();
+
+    if (name.isEmpty() && !searchParams->author().isEmpty()) {
+        if (videos.isEmpty()) name = searchParams->author();
+        else name = videos.first()->author();
+        emit nameChanged(name);
+    }
+
+    emit gotVideos(videos);
+    emit finished(videos.size());
+}
+
+void YTSearch::requestError(QNetworkReply *reply) {
+    emit error(reply->errorString());
+}
+
+QString YTSearch::videoIdFromUrl(QString url) {
+    QRegExp re = QRegExp("^.*[\\?&]v=([^&#]+).*$");
+    if (re.exactMatch(url)) return re.cap(1);
+    re = QRegExp("^.*://.*/([^&#\\?]+).*$");
+    if (re.exactMatch(url)) return re.cap(1);
+    return QString();
+}
diff --git a/src/ytsearch.h b/src/ytsearch.h
new file mode 100644 (file)
index 0000000..983a27b
--- /dev/null
@@ -0,0 +1,38 @@
+#ifndef YTSEARCH_H
+#define YTSEARCH_H
+
+#include <QtNetwork>
+#include "videosource.h"
+
+class SearchParams;
+class Video;
+
+class YTSearch : public VideoSource {
+
+    Q_OBJECT
+
+public:
+    YTSearch(SearchParams *params, QObject *parent = 0);
+    void loadVideos(int max, int skip);
+    virtual void abort();
+    virtual const QStringList & getSuggestions();
+    static QString videoIdFromUrl(QString url);
+    QString getName();
+    SearchParams* getSearchParams() const { return searchParams; }
+
+    bool operator==(const YTSearch &other) const {
+        return searchParams == other.getSearchParams();
+    }
+
+private slots:
+    void parseResults(QByteArray data);
+    void requestError(QNetworkReply *reply);
+
+private:
+    SearchParams *searchParams;
+    bool aborted;
+    QStringList suggestions;
+    QString name;
+};
+
+#endif // YTSEARCH_H
diff --git a/src/ytsinglevideosource.cpp b/src/ytsinglevideosource.cpp
new file mode 100644 (file)
index 0000000..6a22de5
--- /dev/null
@@ -0,0 +1,70 @@
+#include "ytsinglevideosource.h"
+#include <QtXml>
+#include "networkaccess.h"
+#include "video.h"
+#include "ytfeedreader.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTSingleVideoSource::YTSingleVideoSource(QObject *parent) : VideoSource(parent) {
+    skip = 0;
+    max = 0;
+}
+
+void YTSingleVideoSource::loadVideos(int max, int skip) {
+    aborted = false;
+    this->skip = skip;
+    this->max = max;
+
+    QString s;
+    if (skip == 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);
+    url.addQueryItem("v", "2");
+
+    if (skip != 1) {
+        url.addQueryItem("max-results", QString::number(max));
+        url.addQueryItem("start-index", QString::number(skip-1));
+    }
+
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(parse(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTSingleVideoSource::abort() {
+    aborted = true;
+}
+
+const QStringList & YTSingleVideoSource::getSuggestions() {
+    QStringList *l = new QStringList();
+    return *l;
+}
+
+QString YTSingleVideoSource::getName() {
+    return name;
+}
+
+void YTSingleVideoSource::parse(QByteArray data) {
+    if (aborted) return;
+
+    YTFeedReader reader(data);
+    QList<Video*> videos = reader.getVideos();
+
+    if (name.isEmpty() && !videos.isEmpty() && skip == 1) {
+        name = videos.first()->title();
+        emit nameChanged(name);
+    }
+
+    emit gotVideos(videos);
+
+    if (skip == 1) loadVideos(max - 1, 2);
+    else if (skip == 2) emit finished(videos.size() + 1);
+    else emit finished(videos.size());
+}
+
+void YTSingleVideoSource::requestError(QNetworkReply *reply) {
+    emit error(reply->errorString());
+}
diff --git a/src/ytsinglevideosource.h b/src/ytsinglevideosource.h
new file mode 100644 (file)
index 0000000..62aeb9a
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef YTSINGLEVIDEOSOURCE_H
+#define YTSINGLEVIDEOSOURCE_H
+
+#include <QtNetwork>
+#include "videosource.h"
+
+class YTSingleVideoSource : public VideoSource {
+
+    Q_OBJECT
+
+public:
+    YTSingleVideoSource(QObject *parent = 0);
+    void loadVideos(int max, int skip);
+    void abort();
+    const QStringList & getSuggestions();
+    QString getName();
+
+    void setVideoId(QString videoId) { this->videoId = videoId; }
+
+private slots:
+    void parse(QByteArray data);
+    void requestError(QNetworkReply *reply);
+
+private:
+    QString videoId;
+    bool aborted;
+    int skip;
+    int max;
+    QString name;
+};
+
+#endif // YTSINGLEVIDEOSOURCE_H
diff --git a/src/ytstandardfeed.cpp b/src/ytstandardfeed.cpp
new file mode 100644 (file)
index 0000000..111ec29
--- /dev/null
@@ -0,0 +1,58 @@
+#include "ytstandardfeed.h"
+#include <QtXml>
+#include "networkaccess.h"
+#include "video.h"
+#include "ytfeedreader.h"
+
+namespace The {
+NetworkAccess* http();
+}
+
+YTStandardFeed::YTStandardFeed(QObject *parent)
+    : VideoSource(parent),
+      aborted(false) { }
+
+void YTStandardFeed::loadVideos(int max, int skip) {
+    aborted = false;
+
+    QString s = "http://gdata.youtube.com/feeds/api/standardfeeds/";
+    if (!regionId.isEmpty()) s += regionId + "/";
+    s += feedId;
+    if (!category.isEmpty()) s += "_" + category;
+
+    QUrl url(s);
+    url.addQueryItem("v", "2");
+
+    if (feedId != "most_shared")
+        url.addQueryItem("time", "today");
+
+    url.addQueryItem("max-results", QString::number(max));
+    url.addQueryItem("start-index", QString::number(skip));
+
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(parse(QByteArray)));
+    connect(reply, SIGNAL(error(QNetworkReply*)), SLOT(requestError(QNetworkReply*)));
+}
+
+void YTStandardFeed::abort() {
+    aborted = true;
+}
+
+const QStringList & YTStandardFeed::getSuggestions() {
+    QStringList *l = new QStringList();
+    return *l;
+}
+
+void YTStandardFeed::parse(QByteArray data) {
+    if (aborted) return;
+
+    YTFeedReader reader(data);
+    QList<Video*> videos = reader.getVideos();
+
+    emit gotVideos(videos);
+    emit finished(videos.size());
+}
+
+void YTStandardFeed::requestError(QNetworkReply *reply) {
+    emit error(reply->errorString());
+}
diff --git a/src/ytstandardfeed.h b/src/ytstandardfeed.h
new file mode 100644 (file)
index 0000000..45cdfac
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef YTSTANDARDFEED_H
+#define YTSTANDARDFEED_H
+
+#include <QtNetwork>
+#include "videosource.h"
+
+class YTStandardFeed : public VideoSource {
+
+    Q_OBJECT
+
+public:
+    YTStandardFeed(QObject *parent = 0);
+
+    QString getFeedId() { return feedId; }
+    void setFeedId(QString feedId) { this->feedId = feedId; }
+
+    QString getRegionId() { return regionId; }
+    void setRegionId(QString regionId) { this->regionId = regionId; }
+
+    QString getCategory() { return category; }
+    void setCategory(QString category) { this->category = category; }
+
+    QString getLabel() { return label; }
+    void setLabel(QString label) { this->label = label; }
+
+    void loadVideos(int max, int skip);
+    void abort();
+    const QStringList & getSuggestions();
+    QString getName() { return label; }
+
+private slots:
+    void parse(QByteArray data);
+    void requestError(QNetworkReply *reply);
+
+private:
+    QString feedId;
+    QString regionId;
+    QString category;
+    QString label;
+    bool aborted;
+};
+
+#endif // YTSTANDARDFEED_H
diff --git a/src/ytsuggester.cpp b/src/ytsuggester.cpp
new file mode 100644 (file)
index 0000000..a1cfe98
--- /dev/null
@@ -0,0 +1,49 @@
+#include "ytsuggester.h"
+#include <QtXml>
+#include "networkaccess.h"
+
+#define GSUGGEST_URL "http://suggestqueries.google.com/complete/search?ds=yt&output=toolbar&hl=%1&q=%2"
+
+namespace The {
+    NetworkAccess* http();
+}
+
+YTSuggester::YTSuggester(QObject *parent) : Suggester(parent) {
+
+}
+
+void YTSuggester::suggest(QString query) {
+    if (query.startsWith("http")) return;
+
+#if QT_VERSION >= 0x040800
+    QString locale = QLocale::system().uiLanguages().first();
+#else
+    QString locale = QLocale::system().name().replace("_", "-");
+#endif
+
+    // case for system locales such as "C"
+    if (locale.length() < 2) {
+        locale = "en-US";
+    }
+
+    QString url = QString(GSUGGEST_URL).arg(locale, query);
+
+    QObject *reply = The::http()->get(url);
+    connect(reply, SIGNAL(data(QByteArray)), SLOT(handleNetworkData(QByteArray)));
+}
+
+void YTSuggester::handleNetworkData(QByteArray response) {
+    QStringList choices;
+
+    QXmlStreamReader xml(response);
+    while (!xml.atEnd()) {
+        xml.readNext();
+        if (xml.tokenType() == QXmlStreamReader::StartElement) {
+            if (xml.name() == QLatin1String("suggestion")) {
+                QStringRef str = xml.attributes().value("data");
+                choices << str.toString();
+            }
+        }
+    }
+    emit ready(choices);
+}
diff --git a/src/ytsuggester.h b/src/ytsuggester.h
new file mode 100644 (file)
index 0000000..c42440b
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef YTSUGGESTER_H
+#define YTSUGGESTER_H
+
+#include <QtCore>
+#include "suggester.h"
+
+class YTSuggester : public Suggester {
+
+    Q_OBJECT
+
+public:
+    YTSuggester(QObject *parent = 0);
+    void suggest(QString query);
+
+signals:
+    void ready(QStringList);
+
+private slots:
+    void handleNetworkData(QByteArray response);
+
+};
+
+#endif // YTSUGGESTER_H
diff --git a/style.css b/style.css
new file mode 100644 (file)
index 0000000..9b980e9
--- /dev/null
+++ b/style.css
@@ -0,0 +1,149 @@
+/* statusbar */
+
+QStatusBar QToolBar {
+    padding:0;
+    spacing:0;
+    margin:0;
+    border:0;
+}
+
+QStatusBar QToolButton::menu-indicator {
+    image: none;
+}
+
+/* Regions */
+
+RegionsView QPushButton[regionId] {
+    margin: 5px;
+    padding: 10px;
+    text-align: left;
+    vertical-align: middle;
+    background-color: transparent;
+    border: 1px solid transparent;
+    border-radius: 10px;
+}
+
+RegionsView QPushButton[regionId=""] {
+    font-weight: bold;
+}
+
+RegionsView QPushButton[regionId]:hover {
+    border: 1px solid rgba(0,0,0,32);
+    background: rgba(0,0,0,16);
+}
+
+RegionsView QPushButton[regionId]:focus {
+    border: 1px solid palette(highlight);
+    background: rgba(0,0,0,16);
+}
+
+RegionsView QPushButton[regionId]:checked {
+    color: #fff;
+    border: 1px solid rgba(0,0,0,64);
+    background: qradialgradient(cx: 0.5, cy: 0,
+    fx: 0.5, fy: 0,
+    radius: 1.35, stop: 0 rgba(0,0,0,128), stop: 1 rgba(0,0,0,64));
+}
+
+/* Sidebar */
+
+SidebarHeader {
+    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+                         stop: 0 #262626, stop: 1 #3c3c3c);
+    padding: 0;
+    margin: 0;
+    spacing: 0;
+    border-bottom: 1px solid black;
+}
+
+SidebarHeader QToolButton {
+    border: 0;
+    padding: 0;
+    margin: 0;
+    spacing: 0;
+    height: 20;
+    width: 24;
+}
+
+SidebarHeader QPushButton {
+    background: transparent;
+    color: #fff;
+    text-align: center;
+}
+
+SidebarHeader QComboBox::drop-down {
+    width: 0;
+    border-style: none;
+}
+
+/* Ambiance */
+
+MainWindow[style="Ambiance"] > QToolBar {
+    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+                     stop: 0 #3c3b37, stop: 1 #474641);
+}
+
+MainWindow[style="Ambiance"] > QToolBar QToolButton,
+MainWindow[style="Ambiance"] > QToolBar QLabel {
+    color: #dfdbd2;
+}
+
+MainWindow[style="Ambiance"] > QToolBar QToolButton:disabled {
+    color: #8f8c86;
+}
+
+MainWindow[style="Ambiance"] > QToolBar QToolButton:hover {
+    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+                 stop: 0 #474641, stop: 1 #3c3b37);
+                 border-radius: 5px;
+    border: 1px outset #3c3b37;
+}
+
+MainWindow[style="Ambiance"] > QToolBar QToolButton:pressed,
+MainWindow[style="Ambiance"] > QToolBar QToolButton:checked {
+    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+                 stop: 0 #3b3a36, stop: 1 #363531);
+                 border-radius: 5px;
+    border: 1px inset #292825;
+}
+
+
+MainWindow[style="Ambiance"] QSlider::groove:horizontal {
+     border: 1px solid #808080;
+     height: 8px;
+     background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #ccc);
+     border-radius: 5px;
+}
+
+MainWindow[style="Ambiance"] QSlider::sub-page:horizontal {
+    border: 1px solid #808080;
+    height: 8px;
+    background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #6c6c6c, stop:1 #B1B1B1);
+    border-radius: 5px;
+}
+
+MainWindow[style="Ambiance"] QSlider::handle:horizontal {
+    border: 1px solid #5c5c5c;
+    width: 14px;
+    height: 16px;
+    margin: -4px 0;
+    border-radius: 8px;
+    background: qradialgradient(
+        cx: .5, cy: .5,
+        fx: .33, fy: .33,
+        radius: .5,
+        stop: 0 #fff, stop: 1 #ccc);
+}
+
+MainWindow[style="Ambiance"] QSlider::handle:pressed {
+    background: qradialgradient(
+        cx: .5, cy: .5,
+        fx: .33, fy: .33,
+        radius: .5,
+        stop: 0 #ccc, stop: 1 #9c9c9c);
+}
+
+MainWindow[style="Ambiance"] Phonon--SeekSlider QSlider::sub-page:horizontal {
+    border: 1px solid #808080;
+    background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #6c6c6c);
+}