├── AUTHORS ├── COPYING ├── README.md ├── app ├── app.pro ├── dbus │ ├── org.marxoft.cutetube2.service │ └── org.marxoft.cutetube2.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── manifest.aegis │ ├── postinst │ ├── postrm │ └── rules ├── desktop │ ├── harmattan │ │ ├── 64 │ │ │ └── cutetube2.png │ │ ├── 80 │ │ │ └── cutetube2.png │ │ ├── contentaction │ │ │ └── cutetube2.xml │ │ ├── cutetube2.desktop │ │ └── splash │ │ │ ├── splash-landscape.png │ │ │ └── splash-portrait.png │ ├── maemo5 │ │ ├── 48 │ │ │ └── cutetube2.png │ │ ├── 64 │ │ │ └── cutetube2.png │ │ ├── cutetube2.desktop │ │ └── cutetube2.png │ └── symbian │ │ └── cutetube2.svg └── src │ ├── base │ ├── categorymodel.cpp │ ├── categorymodel.h │ ├── categorynamemodel.h │ ├── clipboard.cpp │ ├── clipboard.h │ ├── comment.cpp │ ├── comment.h │ ├── concurrenttransfersmodel.h │ ├── json.cpp │ ├── json.h │ ├── localemodel.h │ ├── logger.cpp │ ├── logger.h │ ├── loggerverbositymodel.h │ ├── networkproxytypemodel.h │ ├── playlist.cpp │ ├── playlist.h │ ├── resources.cpp │ ├── resources.h │ ├── searchhistorymodel.cpp │ ├── searchhistorymodel.h │ ├── selectionmodel.cpp │ ├── selectionmodel.h │ ├── servicemodel.h │ ├── transfermodel.cpp │ ├── transfermodel.h │ ├── transferprioritymodel.h │ ├── transfers.cpp │ ├── transfers.h │ ├── user.cpp │ ├── user.h │ ├── utils.cpp │ ├── utils.h │ ├── video.cpp │ ├── video.h │ ├── videomodel.cpp │ └── videomodel.h │ ├── dailymotion │ ├── dailymotion.cpp │ ├── dailymotion.h │ ├── dailymotionaccountmodel.cpp │ ├── dailymotionaccountmodel.h │ ├── dailymotioncategorymodel.cpp │ ├── dailymotioncategorymodel.h │ ├── dailymotioncomment.cpp │ ├── dailymotioncomment.h │ ├── dailymotioncommentmodel.cpp │ ├── dailymotioncommentmodel.h │ ├── dailymotionnavmodel.cpp │ ├── dailymotionnavmodel.h │ ├── dailymotionplaylist.cpp │ ├── dailymotionplaylist.h │ ├── dailymotionplaylistmodel.cpp │ ├── dailymotionplaylistmodel.h │ ├── dailymotionsearchtypemodel.h │ ├── dailymotionstreammodel.cpp │ ├── dailymotionstreammodel.h │ ├── dailymotionsubtitlemodel.cpp │ ├── dailymotionsubtitlemodel.h │ ├── dailymotiontransfer.cpp │ ├── dailymotiontransfer.h │ ├── dailymotionuser.cpp │ ├── dailymotionuser.h │ ├── dailymotionusermodel.cpp │ ├── dailymotionusermodel.h │ ├── dailymotionvideo.cpp │ ├── dailymotionvideo.h │ ├── dailymotionvideomodel.cpp │ └── dailymotionvideomodel.h │ ├── dbus │ ├── dbusservice.cpp │ └── dbusservice.h │ ├── desktop │ ├── banner.cpp │ ├── banner.h │ ├── categorysettingstab.cpp │ ├── categorysettingstab.h │ ├── clipboardurlmodel.cpp │ ├── clipboardurlmodel.h │ ├── commentdelegate.cpp │ ├── commentdelegate.h │ ├── customcommanddialog.cpp │ ├── customcommanddialog.h │ ├── dailymotion │ │ ├── dailymotioncategoriespage.cpp │ │ ├── dailymotioncategoriespage.h │ │ ├── dailymotiondownloaddialog.cpp │ │ ├── dailymotiondownloaddialog.h │ │ ├── dailymotionplaylistspage.cpp │ │ ├── dailymotionplaylistspage.h │ │ ├── dailymotionsearchdialog.cpp │ │ ├── dailymotionsearchdialog.h │ │ ├── dailymotionuserspage.cpp │ │ ├── dailymotionuserspage.h │ │ ├── dailymotionvideospage.cpp │ │ ├── dailymotionvideospage.h │ │ ├── dailymotionview.cpp │ │ └── dailymotionview.h │ ├── database.h │ ├── definitions.h │ ├── drawing.h │ ├── generalsettingstab.cpp │ ├── generalsettingstab.h │ ├── image.cpp │ ├── image.h │ ├── imagecache.cpp │ ├── imagecache.h │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h │ ├── networksettingstab.cpp │ ├── networksettingstab.h │ ├── page.cpp │ ├── page.h │ ├── pagestack.h │ ├── playlistdelegate.cpp │ ├── playlistdelegate.h │ ├── playlistthumbnail.cpp │ ├── playlistthumbnail.h │ ├── plugins │ │ ├── plugincategoriespage.cpp │ │ ├── plugincategoriespage.h │ │ ├── plugindownloaddialog.cpp │ │ ├── plugindownloaddialog.h │ │ ├── pluginplaylistspage.cpp │ │ ├── pluginplaylistspage.h │ │ ├── pluginsearchdialog.cpp │ │ ├── pluginsearchdialog.h │ │ ├── pluginuserspage.cpp │ │ ├── pluginuserspage.h │ │ ├── pluginvideospage.cpp │ │ ├── pluginvideospage.h │ │ ├── pluginview.cpp │ │ └── pluginview.h │ ├── pluginsettingstab.cpp │ ├── pluginsettingstab.h │ ├── pluginssettingstab.cpp │ ├── pluginssettingstab.h │ ├── settings.cpp │ ├── settings.h │ ├── settingsdialog.cpp │ ├── settingsdialog.h │ ├── settingstab.cpp │ ├── settingstab.h │ ├── textbrowser.cpp │ ├── textbrowser.h │ ├── transfer.cpp │ ├── transfer.h │ ├── transferdelegate.cpp │ ├── transferdelegate.h │ ├── transfersettingstab.cpp │ ├── transfersettingstab.h │ ├── transferswindow.cpp │ ├── transferswindow.h │ ├── userdelegate.cpp │ ├── userdelegate.h │ ├── videodelegate.cpp │ ├── videodelegate.h │ ├── videoplayer.cpp │ ├── videoplayer.h │ ├── videoplayermodel.h │ ├── videoplayerwindow.cpp │ ├── videoplayerwindow.h │ ├── videothumbnail.cpp │ ├── videothumbnail.h │ ├── vimeo │ │ ├── vimeocategoriespage.cpp │ │ ├── vimeocategoriespage.h │ │ ├── vimeodownloaddialog.cpp │ │ ├── vimeodownloaddialog.h │ │ ├── vimeoplaylistspage.cpp │ │ ├── vimeoplaylistspage.h │ │ ├── vimeosearchdialog.cpp │ │ ├── vimeosearchdialog.h │ │ ├── vimeouserspage.cpp │ │ ├── vimeouserspage.h │ │ ├── vimeovideospage.cpp │ │ ├── vimeovideospage.h │ │ ├── vimeoview.cpp │ │ └── vimeoview.h │ └── youtube │ │ ├── youtubecategoriespage.cpp │ │ ├── youtubecategoriespage.h │ │ ├── youtubecommentspage.cpp │ │ ├── youtubecommentspage.h │ │ ├── youtubedownloaddialog.cpp │ │ ├── youtubedownloaddialog.h │ │ ├── youtubeplaylistspage.cpp │ │ ├── youtubeplaylistspage.h │ │ ├── youtubesearchdialog.cpp │ │ ├── youtubesearchdialog.h │ │ ├── youtubeuserpage.cpp │ │ ├── youtubeuserpage.h │ │ ├── youtubeuserspage.cpp │ │ ├── youtubeuserspage.h │ │ ├── youtubevideopage.cpp │ │ ├── youtubevideopage.h │ │ ├── youtubevideospage.cpp │ │ ├── youtubevideospage.h │ │ ├── youtubeview.cpp │ │ └── youtubeview.h │ ├── harmattan │ ├── activecolormodel.h │ ├── cookiejar.cpp │ ├── cookiejar.h │ ├── database.h │ ├── definitions.h │ ├── main.cpp │ ├── maskeditem.cpp │ ├── maskeditem.h │ ├── maskeffect.cpp │ ├── maskeffect.h │ ├── networkaccessmanager.cpp │ ├── networkaccessmanager.h │ ├── networkaccessmanagerfactory.cpp │ ├── networkaccessmanagerfactory.h │ ├── qml │ │ ├── AboutPage.qml │ │ ├── AppWindow.qml │ │ ├── AppearanceSettingsPage.qml │ │ ├── Avatar.qml │ │ ├── BackToolIcon.qml │ │ ├── Banner.qml │ │ ├── CategoriesPage.qml │ │ ├── CategoryDelegate.qml │ │ ├── CommentDelegate.qml │ │ ├── DrillDownDelegate.qml │ │ ├── EditCategoryDialog.qml │ │ ├── FileBrowserDelegate.qml │ │ ├── FileBrowserDialog.qml │ │ ├── LabelDelegate.qml │ │ ├── LinkLabel.qml │ │ ├── ListItem.qml │ │ ├── MainPage.qml │ │ ├── MediaSettingsPage.qml │ │ ├── MyBusyIndicator.qml │ │ ├── MyButton.qml │ │ ├── MyCheckBox.qml │ │ ├── MyInfoBanner.qml │ │ ├── MyPage.qml │ │ ├── MyProgressBar.qml │ │ ├── MySelectionDialog.qml │ │ ├── MySheet.qml │ │ ├── MySwitch.qml │ │ ├── MyTextArea.qml │ │ ├── MyTextField.qml │ │ ├── MyToolIcon.qml │ │ ├── NetworkSettingsPage.qml │ │ ├── PlaylistDelegate.qml │ │ ├── PlaylistThumbnail.qml │ │ ├── SeekBubble.qml │ │ ├── SeparatorLabel.qml │ │ ├── SettingsPage.qml │ │ ├── Tab.qml │ │ ├── TabLoader.qml │ │ ├── TabView.qml │ │ ├── TitleHeader.qml │ │ ├── TransfersSettingsPage.qml │ │ ├── UserDelegate.qml │ │ ├── ValueDialog.qml │ │ ├── ValueListItem.qml │ │ ├── ValueMenuItem.qml │ │ ├── ValueSelector.qml │ │ ├── VideoDelegate.qml │ │ ├── VideoPlaybackPage.qml │ │ ├── VideoThumbnail.qml │ │ ├── dailymotion │ │ │ ├── DailymotionAccountsPage.qml │ │ │ ├── DailymotionAuthDialog.qml │ │ │ ├── DailymotionCategoriesPage.qml │ │ │ ├── DailymotionCommentDialog.qml │ │ │ ├── DailymotionCommentsTab.qml │ │ │ ├── DailymotionDownloadDialog.qml │ │ │ ├── DailymotionPlaybackDialog.qml │ │ │ ├── DailymotionPlaylistDialog.qml │ │ │ ├── DailymotionPlaylistPage.qml │ │ │ ├── DailymotionPlaylistsPage.qml │ │ │ ├── DailymotionPlaylistsTab.qml │ │ │ ├── DailymotionSearchDialog.qml │ │ │ ├── DailymotionUserPage.qml │ │ │ ├── DailymotionUsersPage.qml │ │ │ ├── DailymotionUsersTab.qml │ │ │ ├── DailymotionVideoPage.qml │ │ │ ├── DailymotionVideosPage.qml │ │ │ └── DailymotionVideosTab.qml │ │ ├── images │ │ │ ├── avatar-frame.png │ │ │ ├── avatar-mask.png │ │ │ ├── avatar.png │ │ │ ├── comment-outgoing-inverted.png │ │ │ ├── comment-outgoing-pressed-inverted.png │ │ │ ├── comment-outgoing-pressed.png │ │ │ ├── comment-outgoing.png │ │ │ ├── dislike-color10.png │ │ │ ├── dislike-color11.png │ │ │ ├── dislike-color12.png │ │ │ ├── dislike-color13.png │ │ │ ├── dislike-color14.png │ │ │ ├── dislike-color15.png │ │ │ ├── dislike-color16.png │ │ │ ├── dislike-color17.png │ │ │ ├── dislike-color18.png │ │ │ ├── dislike-color19.png │ │ │ ├── dislike-color2.png │ │ │ ├── dislike-color3.png │ │ │ ├── dislike-color4.png │ │ │ ├── dislike-color5.png │ │ │ ├── dislike-color6.png │ │ │ ├── dislike-color7.png │ │ │ ├── dislike-color8.png │ │ │ ├── dislike-color9.png │ │ │ ├── dislike-inverted.png │ │ │ ├── dislike.png │ │ │ ├── like-color10.png │ │ │ ├── like-color11.png │ │ │ ├── like-color12.png │ │ │ ├── like-color13.png │ │ │ ├── like-color14.png │ │ │ ├── like-color15.png │ │ │ ├── like-color16.png │ │ │ ├── like-color17.png │ │ │ ├── like-color18.png │ │ │ ├── like-color19.png │ │ │ ├── like-color2.png │ │ │ ├── like-color3.png │ │ │ ├── like-color4.png │ │ │ ├── like-color5.png │ │ │ ├── like-color6.png │ │ │ ├── like-color7.png │ │ │ ├── like-color8.png │ │ │ ├── like-color9.png │ │ │ ├── like-inverted.png │ │ │ ├── like.png │ │ │ ├── seekbubble.png │ │ │ └── toolbar-background.png │ │ ├── main.qml │ │ ├── plugins │ │ │ ├── PluginCategoriesPage.qml │ │ │ ├── PluginCommentsTab.qml │ │ │ ├── PluginDownloadDialog.qml │ │ │ ├── PluginPlaybackDialog.qml │ │ │ ├── PluginPlaylistPage.qml │ │ │ ├── PluginPlaylistsPage.qml │ │ │ ├── PluginPlaylistsTab.qml │ │ │ ├── PluginSearchDialog.qml │ │ │ ├── PluginSettingsPage.qml │ │ │ ├── PluginUserPage.qml │ │ │ ├── PluginUsersPage.qml │ │ │ ├── PluginUsersTab.qml │ │ │ ├── PluginVideoPage.qml │ │ │ ├── PluginVideosPage.qml │ │ │ ├── PluginVideosTab.qml │ │ │ └── PluginsSettingsPage.qml │ │ ├── vimeo │ │ │ ├── VimeoAccountsPage.qml │ │ │ ├── VimeoAuthDialog.qml │ │ │ ├── VimeoCategoriesPage.qml │ │ │ ├── VimeoCommentDialog.qml │ │ │ ├── VimeoCommentsTab.qml │ │ │ ├── VimeoDownloadDialog.qml │ │ │ ├── VimeoPlaybackDialog.qml │ │ │ ├── VimeoPlaylistDialog.qml │ │ │ ├── VimeoPlaylistPage.qml │ │ │ ├── VimeoPlaylistsPage.qml │ │ │ ├── VimeoPlaylistsTab.qml │ │ │ ├── VimeoSearchDialog.qml │ │ │ ├── VimeoUserPage.qml │ │ │ ├── VimeoUsersPage.qml │ │ │ ├── VimeoUsersTab.qml │ │ │ ├── VimeoVideoPage.qml │ │ │ ├── VimeoVideosPage.qml │ │ │ └── VimeoVideosTab.qml │ │ └── youtube │ │ │ ├── YouTubeAccountsPage.qml │ │ │ ├── YouTubeAuthDialog.qml │ │ │ ├── YouTubeCategoriesPage.qml │ │ │ ├── YouTubeCommentDialog.qml │ │ │ ├── YouTubeCommentsTab.qml │ │ │ ├── YouTubeDownloadDialog.qml │ │ │ ├── YouTubePlaybackDialog.qml │ │ │ ├── YouTubePlaylistDialog.qml │ │ │ ├── YouTubePlaylistPage.qml │ │ │ ├── YouTubePlaylistsPage.qml │ │ │ ├── YouTubePlaylistsTab.qml │ │ │ ├── YouTubeSearchDialog.qml │ │ │ ├── YouTubeUserPage.qml │ │ │ ├── YouTubeUsersPage.qml │ │ │ ├── YouTubeUsersTab.qml │ │ │ ├── YouTubeVideoPage.qml │ │ │ ├── YouTubeVideosPage.qml │ │ │ └── YouTubeVideosTab.qml │ ├── screenorientationmodel.h │ ├── screensaver.cpp │ ├── screensaver.h │ ├── settings.cpp │ ├── settings.h │ ├── shareui.cpp │ ├── shareui.h │ ├── transfer.cpp │ ├── transfer.h │ ├── videolauncher.cpp │ ├── videolauncher.h │ └── videoplayermodel.h │ ├── maemo5 │ ├── aboutdialog.cpp │ ├── aboutdialog.h │ ├── accountdelegate.cpp │ ├── accountdelegate.h │ ├── banner.cpp │ ├── banner.h │ ├── categoriesdialog.cpp │ ├── categoriesdialog.h │ ├── categorydelegate.cpp │ ├── categorydelegate.h │ ├── commentdelegate.cpp │ ├── commentdelegate.h │ ├── customcommanddialog.cpp │ ├── customcommanddialog.h │ ├── dailymotion │ │ ├── dailymotionaccountswindow.cpp │ │ ├── dailymotionaccountswindow.h │ │ ├── dailymotionauthdialog.cpp │ │ ├── dailymotionauthdialog.h │ │ ├── dailymotioncategorieswindow.cpp │ │ ├── dailymotioncategorieswindow.h │ │ ├── dailymotioncommentdialog.cpp │ │ ├── dailymotioncommentdialog.h │ │ ├── dailymotiondownloaddialog.cpp │ │ ├── dailymotiondownloaddialog.h │ │ ├── dailymotionplaybackdialog.cpp │ │ ├── dailymotionplaybackdialog.h │ │ ├── dailymotionplaylistdialog.cpp │ │ ├── dailymotionplaylistdialog.h │ │ ├── dailymotionplaylistswindow.cpp │ │ ├── dailymotionplaylistswindow.h │ │ ├── dailymotionplaylistwindow.cpp │ │ ├── dailymotionplaylistwindow.h │ │ ├── dailymotionsearchdialog.cpp │ │ ├── dailymotionsearchdialog.h │ │ ├── dailymotionuserswindow.cpp │ │ ├── dailymotionuserswindow.h │ │ ├── dailymotionuserwindow.cpp │ │ ├── dailymotionuserwindow.h │ │ ├── dailymotionvideoswindow.cpp │ │ ├── dailymotionvideoswindow.h │ │ ├── dailymotionvideowindow.cpp │ │ ├── dailymotionvideowindow.h │ │ ├── dailymotionview.cpp │ │ └── dailymotionview.h │ ├── database.h │ ├── definitions.h │ ├── dialog.cpp │ ├── dialog.h │ ├── drawing.h │ ├── filterbox.cpp │ ├── filterbox.h │ ├── image.cpp │ ├── image.h │ ├── imagecache.cpp │ ├── imagecache.h │ ├── listview.cpp │ ├── listview.h │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h │ ├── navdelegate.cpp │ ├── navdelegate.h │ ├── networkproxydialog.cpp │ ├── networkproxydialog.h │ ├── newcategorydialog.cpp │ ├── newcategorydialog.h │ ├── playlistdelegate.cpp │ ├── playlistdelegate.h │ ├── playlistthumbnail.cpp │ ├── playlistthumbnail.h │ ├── plugins │ │ ├── plugincategorieswindow.cpp │ │ ├── plugincategorieswindow.h │ │ ├── plugindownloaddialog.cpp │ │ ├── plugindownloaddialog.h │ │ ├── pluginplaybackdialog.cpp │ │ ├── pluginplaybackdialog.h │ │ ├── pluginplaylistswindow.cpp │ │ ├── pluginplaylistswindow.h │ │ ├── pluginplaylistwindow.cpp │ │ ├── pluginplaylistwindow.h │ │ ├── pluginsearchdialog.cpp │ │ ├── pluginsearchdialog.h │ │ ├── pluginuserswindow.cpp │ │ ├── pluginuserswindow.h │ │ ├── pluginuserwindow.cpp │ │ ├── pluginuserwindow.h │ │ ├── pluginvideoswindow.cpp │ │ ├── pluginvideoswindow.h │ │ ├── pluginvideowindow.cpp │ │ ├── pluginvideowindow.h │ │ ├── pluginview.cpp │ │ └── pluginview.h │ ├── pluginsettingsdialog.cpp │ ├── pluginsettingsdialog.h │ ├── qwebviewselectionsuppressor.h │ ├── screensaver.cpp │ ├── screensaver.h │ ├── searchhistorydialog.cpp │ ├── searchhistorydialog.h │ ├── settings.cpp │ ├── settings.h │ ├── settingsdialog.cpp │ ├── settingsdialog.h │ ├── stackedwindow.cpp │ ├── stackedwindow.h │ ├── textbrowser.cpp │ ├── textbrowser.h │ ├── transfer.cpp │ ├── transfer.h │ ├── transferswindow.cpp │ ├── transferswindow.h │ ├── userdelegate.cpp │ ├── userdelegate.h │ ├── valueselector.cpp │ ├── valueselector.h │ ├── valueselectoraction.cpp │ ├── valueselectoraction.h │ ├── videocontrols.cpp │ ├── videocontrols.h │ ├── videodelegate.cpp │ ├── videodelegate.h │ ├── videolauncher.cpp │ ├── videolauncher.h │ ├── videoplaybackdelegate.cpp │ ├── videoplaybackdelegate.h │ ├── videoplaybackwindow.cpp │ ├── videoplaybackwindow.h │ ├── videoplayerbutton.cpp │ ├── videoplayerbutton.h │ ├── videoplayermodel.h │ ├── videothumbnail.cpp │ ├── videothumbnail.h │ ├── videowidget.cpp │ ├── videowidget.h │ ├── vimeo │ │ ├── vimeoaccountswindow.cpp │ │ ├── vimeoaccountswindow.h │ │ ├── vimeoauthdialog.cpp │ │ ├── vimeoauthdialog.h │ │ ├── vimeocategorieswindow.cpp │ │ ├── vimeocategorieswindow.h │ │ ├── vimeocommentdialog.cpp │ │ ├── vimeocommentdialog.h │ │ ├── vimeodownloaddialog.cpp │ │ ├── vimeodownloaddialog.h │ │ ├── vimeoplaybackdialog.cpp │ │ ├── vimeoplaybackdialog.h │ │ ├── vimeoplaylistdialog.cpp │ │ ├── vimeoplaylistdialog.h │ │ ├── vimeoplaylistswindow.cpp │ │ ├── vimeoplaylistswindow.h │ │ ├── vimeoplaylistwindow.cpp │ │ ├── vimeoplaylistwindow.h │ │ ├── vimeosearchdialog.cpp │ │ ├── vimeosearchdialog.h │ │ ├── vimeouserswindow.cpp │ │ ├── vimeouserswindow.h │ │ ├── vimeouserwindow.cpp │ │ ├── vimeouserwindow.h │ │ ├── vimeovideoswindow.cpp │ │ ├── vimeovideoswindow.h │ │ ├── vimeovideowindow.cpp │ │ ├── vimeovideowindow.h │ │ ├── vimeoview.cpp │ │ └── vimeoview.h │ ├── webview.cpp │ ├── webview.h │ └── youtube │ │ ├── youtubeaccountswindow.cpp │ │ ├── youtubeaccountswindow.h │ │ ├── youtubeauthdialog.cpp │ │ ├── youtubeauthdialog.h │ │ ├── youtubecategorieswindow.cpp │ │ ├── youtubecategorieswindow.h │ │ ├── youtubecommentdialog.cpp │ │ ├── youtubecommentdialog.h │ │ ├── youtubedownloaddialog.cpp │ │ ├── youtubedownloaddialog.h │ │ ├── youtubeplaybackdialog.cpp │ │ ├── youtubeplaybackdialog.h │ │ ├── youtubeplaylistdialog.cpp │ │ ├── youtubeplaylistdialog.h │ │ ├── youtubeplaylistswindow.cpp │ │ ├── youtubeplaylistswindow.h │ │ ├── youtubeplaylistwindow.cpp │ │ ├── youtubeplaylistwindow.h │ │ ├── youtubesearchdialog.cpp │ │ ├── youtubesearchdialog.h │ │ ├── youtubeuserswindow.cpp │ │ ├── youtubeuserswindow.h │ │ ├── youtubeuserwindow.cpp │ │ ├── youtubeuserwindow.h │ │ ├── youtubevideoswindow.cpp │ │ ├── youtubevideoswindow.h │ │ ├── youtubevideowindow.cpp │ │ ├── youtubevideowindow.h │ │ ├── youtubeview.cpp │ │ └── youtubeview.h │ ├── plugins │ ├── externalresourcesrequest.cpp │ ├── externalresourcesrequest.h │ ├── externalserviceplugin.cpp │ ├── externalserviceplugin.h │ ├── javascriptresourcesrequest.cpp │ ├── javascriptresourcesrequest.h │ ├── javascriptresourcesrequestglobalobject.cpp │ ├── javascriptresourcesrequestglobalobject.h │ ├── javascriptserviceplugin.cpp │ ├── javascriptserviceplugin.h │ ├── plugincategorymodel.cpp │ ├── plugincategorymodel.h │ ├── plugincomment.cpp │ ├── plugincomment.h │ ├── plugincommentmodel.cpp │ ├── plugincommentmodel.h │ ├── pluginconfigmodel.cpp │ ├── pluginconfigmodel.h │ ├── pluginmanager.cpp │ ├── pluginmanager.h │ ├── pluginnavmodel.h │ ├── pluginplaylist.cpp │ ├── pluginplaylist.h │ ├── pluginplaylistmodel.cpp │ ├── pluginplaylistmodel.h │ ├── pluginsearchtypemodel.h │ ├── pluginsettings.cpp │ ├── pluginsettings.h │ ├── pluginstreammodel.cpp │ ├── pluginstreammodel.h │ ├── pluginsubtitlemodel.cpp │ ├── pluginsubtitlemodel.h │ ├── plugintransfer.cpp │ ├── plugintransfer.h │ ├── pluginuser.cpp │ ├── pluginuser.h │ ├── pluginusermodel.cpp │ ├── pluginusermodel.h │ ├── pluginvideo.cpp │ ├── pluginvideo.h │ ├── pluginvideomodel.cpp │ ├── pluginvideomodel.h │ ├── resourcesrequest.h │ ├── serviceplugin.h │ ├── servicepluginconfig.cpp │ ├── servicepluginconfig.h │ ├── xmlhttprequest.cpp │ └── xmlhttprequest.h │ ├── symbian │ ├── cookiejar.cpp │ ├── cookiejar.h │ ├── database.h │ ├── definitions.h │ ├── main.cpp │ ├── maskeditem.cpp │ ├── maskeditem.h │ ├── maskeffect.cpp │ ├── maskeffect.h │ ├── mediakeycaptureitem.cpp │ ├── mediakeycaptureitem.h │ ├── networkaccessmanager.cpp │ ├── networkaccessmanager.h │ ├── networkaccessmanagerfactory.cpp │ ├── networkaccessmanagerfactory.h │ ├── qml │ │ ├── AboutPage.qml │ │ ├── AppWindow.qml │ │ ├── AppearanceSettingsPage.qml │ │ ├── Avatar.qml │ │ ├── BackToolButton.qml │ │ ├── Banner.qml │ │ ├── CategoriesPage.qml │ │ ├── CategoryDelegate.qml │ │ ├── CommentDelegate.qml │ │ ├── DrillDownDelegate.qml │ │ ├── EditCategoryDialog.qml │ │ ├── FileBrowserDelegate.qml │ │ ├── FileBrowserDialog.qml │ │ ├── GeneralSettingsPage.qml │ │ ├── KeyNavFlickable.qml │ │ ├── LabelDelegate.qml │ │ ├── LinkLabel.qml │ │ ├── LogPage.qml │ │ ├── LoggingSettingsPage.qml │ │ ├── MainPage.qml │ │ ├── MyButton.qml │ │ ├── MyCheckBox.qml │ │ ├── MyContextMenu.qml │ │ ├── MyDialog.qml │ │ ├── MyFlickable.qml │ │ ├── MyListItem.qml │ │ ├── MyListItemText.qml │ │ ├── MyListView.qml │ │ ├── MyMenu.qml │ │ ├── MyPage.qml │ │ ├── MyQueryDialog.qml │ │ ├── MyScrollBar.qml │ │ ├── MySelectionDialog.qml │ │ ├── MySheet.qml │ │ ├── MyStatusBar.qml │ │ ├── MySwitch.qml │ │ ├── MyTextField.qml │ │ ├── MyToolButton.qml │ │ ├── NetworkSettingsPage.qml │ │ ├── PlaylistDelegate.qml │ │ ├── PlaylistThumbnail.qml │ │ ├── SeekBubble.qml │ │ ├── SeparatorLabel.qml │ │ ├── SettingsPage.qml │ │ ├── Tab.qml │ │ ├── TabLoader.qml │ │ ├── TabView.qml │ │ ├── TitleHeader.qml │ │ ├── TransferDelegate.qml │ │ ├── TransfersPage.qml │ │ ├── TransfersSettingsPage.qml │ │ ├── UserDelegate.qml │ │ ├── ValueDialog.qml │ │ ├── ValueListItem.qml │ │ ├── ValueMenuItem.qml │ │ ├── ValueSelector.qml │ │ ├── VideoDelegate.qml │ │ ├── VideoPlaybackPage.qml │ │ ├── VideoThumbnail.qml │ │ ├── VolumeControl.qml │ │ ├── dailymotion │ │ │ ├── DailymotionAccountsPage.qml │ │ │ ├── DailymotionAuthDialog.qml │ │ │ ├── DailymotionCategoriesPage.qml │ │ │ ├── DailymotionCommentDialog.qml │ │ │ ├── DailymotionCommentsTab.qml │ │ │ ├── DailymotionDownloadDialog.qml │ │ │ ├── DailymotionPlaybackDialog.qml │ │ │ ├── DailymotionPlaylistDialog.qml │ │ │ ├── DailymotionPlaylistPage.qml │ │ │ ├── DailymotionPlaylistsPage.qml │ │ │ ├── DailymotionPlaylistsTab.qml │ │ │ ├── DailymotionSearchDialog.qml │ │ │ ├── DailymotionUserPage.qml │ │ │ ├── DailymotionUsersPage.qml │ │ │ ├── DailymotionUsersTab.qml │ │ │ ├── DailymotionVideoPage.qml │ │ │ ├── DailymotionVideosPage.qml │ │ │ └── DailymotionVideosTab.qml │ │ ├── images │ │ │ ├── avatar-frame.png │ │ │ ├── avatar-mask.png │ │ │ ├── avatar.png │ │ │ ├── close.png │ │ │ ├── comment-outgoing-pressed.png │ │ │ ├── comment-outgoing.png │ │ │ ├── corner-left.png │ │ │ ├── corner-right.png │ │ │ ├── cutetube2.svg │ │ │ ├── dislike-color10.png │ │ │ ├── dislike-color11.png │ │ │ ├── dislike-color12.png │ │ │ ├── dislike-color13.png │ │ │ ├── dislike-color14.png │ │ │ ├── dislike-color15.png │ │ │ ├── dislike-color16.png │ │ │ ├── dislike-color17.png │ │ │ ├── dislike-color18.png │ │ │ ├── dislike-color19.png │ │ │ ├── dislike-color2.png │ │ │ ├── dislike-color3.png │ │ │ ├── dislike-color4.png │ │ │ ├── dislike-color5.png │ │ │ ├── dislike-color6.png │ │ │ ├── dislike-color7.png │ │ │ ├── dislike-color8.png │ │ │ ├── dislike-color9.png │ │ │ ├── dislike.png │ │ │ ├── download.png │ │ │ ├── folder.png │ │ │ ├── input-clear.png │ │ │ ├── like-color10.png │ │ │ ├── like-color11.png │ │ │ ├── like-color12.png │ │ │ ├── like-color13.png │ │ │ ├── like-color14.png │ │ │ ├── like-color15.png │ │ │ ├── like-color16.png │ │ │ ├── like-color17.png │ │ │ ├── like-color18.png │ │ │ ├── like-color19.png │ │ │ ├── like-color2.png │ │ │ ├── like-color3.png │ │ │ ├── like-color4.png │ │ │ ├── like-color5.png │ │ │ ├── like-color6.png │ │ │ ├── like-color7.png │ │ │ ├── like-color8.png │ │ │ ├── like-color9.png │ │ │ ├── like.png │ │ │ ├── new-message.png │ │ │ ├── seekbubble.png │ │ │ ├── toolbar-background.png │ │ │ ├── upload.png │ │ │ ├── videofile.png │ │ │ ├── volume-mute.png │ │ │ └── volume.png │ │ ├── main.qml │ │ ├── plugins │ │ │ ├── AboutPluginPage.qml │ │ │ ├── AboutPluginsPage.qml │ │ │ ├── PluginCategoriesPage.qml │ │ │ ├── PluginCommentsTab.qml │ │ │ ├── PluginDownloadDialog.qml │ │ │ ├── PluginPlaybackDialog.qml │ │ │ ├── PluginPlaylistPage.qml │ │ │ ├── PluginPlaylistsPage.qml │ │ │ ├── PluginPlaylistsTab.qml │ │ │ ├── PluginSearchDialog.qml │ │ │ ├── PluginSettingsPage.qml │ │ │ ├── PluginUserPage.qml │ │ │ ├── PluginUsersPage.qml │ │ │ ├── PluginUsersTab.qml │ │ │ ├── PluginVideoPage.qml │ │ │ ├── PluginVideosPage.qml │ │ │ ├── PluginVideosTab.qml │ │ │ └── PluginsSettingsPage.qml │ │ ├── scripts │ │ │ └── SectionScroller.js │ │ ├── vimeo │ │ │ ├── VimeoAccountsPage.qml │ │ │ ├── VimeoAuthDialog.qml │ │ │ ├── VimeoCategoriesPage.qml │ │ │ ├── VimeoCommentDialog.qml │ │ │ ├── VimeoCommentsTab.qml │ │ │ ├── VimeoDownloadDialog.qml │ │ │ ├── VimeoPlaybackDialog.qml │ │ │ ├── VimeoPlaylistDialog.qml │ │ │ ├── VimeoPlaylistPage.qml │ │ │ ├── VimeoPlaylistsPage.qml │ │ │ ├── VimeoPlaylistsTab.qml │ │ │ ├── VimeoSearchDialog.qml │ │ │ ├── VimeoUserPage.qml │ │ │ ├── VimeoUsersPage.qml │ │ │ ├── VimeoUsersTab.qml │ │ │ ├── VimeoVideoPage.qml │ │ │ ├── VimeoVideosPage.qml │ │ │ └── VimeoVideosTab.qml │ │ └── youtube │ │ │ ├── YouTubeAccountsPage.qml │ │ │ ├── YouTubeAuthDialog.qml │ │ │ ├── YouTubeCategoriesPage.qml │ │ │ ├── YouTubeCommentDialog.qml │ │ │ ├── YouTubeCommentsTab.qml │ │ │ ├── YouTubeDownloadDialog.qml │ │ │ ├── YouTubePlaybackDialog.qml │ │ │ ├── YouTubePlaylistDialog.qml │ │ │ ├── YouTubePlaylistPage.qml │ │ │ ├── YouTubePlaylistsPage.qml │ │ │ ├── YouTubePlaylistsTab.qml │ │ │ ├── YouTubeSearchDialog.qml │ │ │ ├── YouTubeUserPage.qml │ │ │ ├── YouTubeUsersPage.qml │ │ │ ├── YouTubeUsersTab.qml │ │ │ ├── YouTubeVideoPage.qml │ │ │ ├── YouTubeVideosPage.qml │ │ │ └── YouTubeVideosTab.qml │ ├── screenorientationmodel.h │ ├── settings.cpp │ ├── settings.h │ ├── transfer.cpp │ ├── transfer.h │ ├── videolauncher.cpp │ ├── videolauncher.h │ └── videoplayermodel.h │ ├── vimeo │ ├── vimeo.cpp │ ├── vimeo.h │ ├── vimeoaccountmodel.cpp │ ├── vimeoaccountmodel.h │ ├── vimeocategorymodel.cpp │ ├── vimeocategorymodel.h │ ├── vimeocomment.cpp │ ├── vimeocomment.h │ ├── vimeocommentmodel.cpp │ ├── vimeocommentmodel.h │ ├── vimeonavmodel.cpp │ ├── vimeonavmodel.h │ ├── vimeoplaylist.cpp │ ├── vimeoplaylist.h │ ├── vimeoplaylistmodel.cpp │ ├── vimeoplaylistmodel.h │ ├── vimeosearchtypemodel.h │ ├── vimeostreammodel.cpp │ ├── vimeostreammodel.h │ ├── vimeosubtitlemodel.cpp │ ├── vimeosubtitlemodel.h │ ├── vimeotransfer.cpp │ ├── vimeotransfer.h │ ├── vimeouser.cpp │ ├── vimeouser.h │ ├── vimeousermodel.cpp │ ├── vimeousermodel.h │ ├── vimeovideo.cpp │ ├── vimeovideo.h │ ├── vimeovideomodel.cpp │ └── vimeovideomodel.h │ └── youtube │ ├── youtube.cpp │ ├── youtube.h │ ├── youtubeaccountmodel.cpp │ ├── youtubeaccountmodel.h │ ├── youtubecategorymodel.cpp │ ├── youtubecategorymodel.h │ ├── youtubecomment.cpp │ ├── youtubecomment.h │ ├── youtubecommentmodel.cpp │ ├── youtubecommentmodel.h │ ├── youtubenavmodel.cpp │ ├── youtubenavmodel.h │ ├── youtubeplaylist.cpp │ ├── youtubeplaylist.h │ ├── youtubeplaylistmodel.cpp │ ├── youtubeplaylistmodel.h │ ├── youtubesearchtypemodel.h │ ├── youtubestreammodel.cpp │ ├── youtubestreammodel.h │ ├── youtubesubtitlemodel.cpp │ ├── youtubesubtitlemodel.h │ ├── youtubetransfer.cpp │ ├── youtubetransfer.h │ ├── youtubeuser.cpp │ ├── youtubeuser.h │ ├── youtubeusermodel.cpp │ ├── youtubeusermodel.h │ ├── youtubevideo.cpp │ ├── youtubevideo.h │ ├── youtubevideomodel.cpp │ └── youtubevideomodel.h ├── cutetube2.pro └── plugins ├── plugins.pro ├── pornhub ├── cutetube2-pornhub.json ├── cutetube2-pornhub.qtplugin ├── cutetube2-pornhub.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── postinst │ ├── postrm │ └── rules ├── pornhub.pro ├── pornhubplugin.h ├── pornhubrequest.cpp └── pornhubrequest.h ├── porntrex ├── cutetube2-porntrex.json ├── cutetube2-porntrex.qtplugin ├── cutetube2-porntrex.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── postinst │ ├── postrm │ └── rules ├── json.cpp ├── json.h ├── porntrex.pro ├── porntrexplugin.h ├── porntrexrequest.cpp └── porntrexrequest.h ├── src ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── resourcesrequest.h └── serviceplugin.h ├── tv ├── cutetube2-tv.json ├── cutetube2-tv.qtplugin ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── json.cpp ├── json.h ├── tv.pro ├── tvplugin.h ├── tvrequest.cpp └── tvrequest.h ├── vbox7 ├── cutetube2-vbox7.json ├── cutetube2-vbox7.qtplugin ├── cutetube2-vbox7.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── postinst │ ├── postrm │ └── rules ├── vbox7.pro ├── vbox7plugin.h ├── vbox7request.cpp └── vbox7request.h ├── veoh ├── cutetube2-veoh.json ├── cutetube2-veoh.qtplugin ├── cutetube2-veoh.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── postinst │ ├── postrm │ └── rules ├── json.cpp ├── json.h ├── veoh.pro ├── veohplugin.h ├── veohrequest.cpp └── veohrequest.h ├── videoclip ├── cutetube2-videoclip.json ├── cutetube2-videoclip.qtplugin ├── cutetube2-videoclip.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── postinst │ ├── postrm │ └── rules ├── json.cpp ├── json.h ├── videoclip.pro ├── videoclipplugin.h ├── videocliprequest.cpp └── videocliprequest.h ├── wenoo ├── cutetube2-wenoo.json ├── cutetube2-wenoo.qtplugin ├── cutetube2-wenoo.xml ├── debian │ ├── changelog │ ├── compat │ ├── control │ └── rules ├── debian_harmattan │ ├── changelog │ ├── compat │ ├── control │ ├── postinst │ ├── postrm │ └── rules ├── wenoo.pro ├── wenooplugin.h ├── wenoorequest.cpp └── wenoorequest.h └── xhamster ├── cutetube2-xhamster.json ├── cutetube2-xhamster.qtplugin ├── cutetube2-xhamster.xml ├── debian ├── changelog ├── compat ├── control └── rules ├── debian_harmattan ├── changelog ├── compat ├── control ├── postinst ├── postrm └── rules ├── json.cpp ├── json.h ├── xhamster.pro ├── xhamsterplugin.h ├── xhamsterrequest.cpp └── xhamsterrequest.h /AUTHORS: -------------------------------------------------------------------------------- 1 | Stuart Howarth 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #cuteTube2 2 | 3 | cuteTube2 is a fully-featured client for YouTube, Dailymotion and Vimeo that can be extended via plugins. 4 | 5 | Features include: 6 | 7 | * Browse and search videos, playlists and channels. 8 | * Play and download videos. 9 | * Support for multiple YouTube, Dailymotion and Vimeo accounts. 10 | * Support for user-defined credentials and access scopes for YouTube, Dailymotion and Vimeo. 11 | * Support for additional services via plugins. 12 | -------------------------------------------------------------------------------- /app/dbus/org.marxoft.cutetube2.service: -------------------------------------------------------------------------------- 1 | [D-BUS Service] 2 | Name=org.marxoft.cutetube2 3 | Exec=/opt/cutetube2/bin/cutetube2 4 | -------------------------------------------------------------------------------- /app/dbus/org.marxoft.cutetube2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /app/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /app/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | YOUTUBE_HIGHLIGHT="x-maemo-highlight/youtube-video-url=cutetube2.desktop" 6 | DAILYMOTION_HIGHLIGHT="x-maemo-highlight/dailymotion-video-url=cutetube2.desktop" 7 | VIMEO_HIGHLIGHT="x-maemo-highlight/vimeo-video-url=cutetube2.desktop" 8 | DEFAULTS="/usr/share/applications/defaults.list" 9 | 10 | echo "Adding highlight handlers to defaults.list" 11 | 12 | if ! grep $YOUTUBE_HIGHLIGHT $DEFAULTS; then echo $YOUTUBE_HIGHLIGHT >> $DEFAULTS; fi 13 | 14 | if ! grep $DAILYMOTION_HIGHLIGHT $DEFAULTS; then echo $DAILYMOTION_HIGHLIGHT >> $DEFAULTS; fi 15 | 16 | if ! grep $VIMEO_HIGHLIGHT $DEFAULTS; then echo $VIMEO_HIGHLIGHT >> $DEFAULTS; fi 17 | 18 | # dh_installdeb will replace this with shell code automatically 19 | # generated by other debhelper scripts. 20 | 21 | #DEBHELPER# 22 | 23 | exit 0 24 | -------------------------------------------------------------------------------- /app/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/youtube-video-url=cutetube2.desktop\x-maemo-highlight\/dailymotion-video-url=cutetube2.desktop\x-maemo-highlight\/vimeo-video-url=cutetube2.desktop/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /app/desktop/harmattan/64/cutetube2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/harmattan/64/cutetube2.png -------------------------------------------------------------------------------- /app/desktop/harmattan/80/cutetube2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/harmattan/80/cutetube2.png -------------------------------------------------------------------------------- /app/desktop/harmattan/contentaction/cutetube2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/desktop/harmattan/cutetube2.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Version=1.0 4 | Type=Application 5 | Terminal=false 6 | Name=cuteTube2 7 | Exec=/usr/bin/invoker --type=d -s --splash=/opt/cutetube2/splash/splash-portrait.png --splash-landscape=/opt/cutetube2/splash/splash-landscape.png /opt/cutetube2/bin/cutetube2 8 | Icon=/usr/share/icons/hicolor/80x80/apps/cutetube2.png 9 | MimeType=x-maemo-highlight/youtube-video-url;x-maemo-highlight/dailymotion-video-url;x-maemo-highlight/vimeo-video-url; 10 | X-Maemo-Service=org.marxoft.cutetube2 11 | X-Maemo-Method=org.marxoft.cutetube2.showResource 12 | -------------------------------------------------------------------------------- /app/desktop/harmattan/splash/splash-landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/harmattan/splash/splash-landscape.png -------------------------------------------------------------------------------- /app/desktop/harmattan/splash/splash-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/harmattan/splash/splash-portrait.png -------------------------------------------------------------------------------- /app/desktop/maemo5/48/cutetube2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/maemo5/48/cutetube2.png -------------------------------------------------------------------------------- /app/desktop/maemo5/64/cutetube2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/maemo5/64/cutetube2.png -------------------------------------------------------------------------------- /app/desktop/maemo5/cutetube2.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Version=1.0 4 | Type=Application 5 | Terminal=false 6 | Name=cuteTube2 7 | Exec=/opt/cutetube2/bin/cutetube2 8 | Icon=cutetube2 9 | X-Window-Icon= 10 | X-HildonDesk-ShowInToolbar=true 11 | X-Osso-Type=application/x-executable 12 | -------------------------------------------------------------------------------- /app/desktop/maemo5/cutetube2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/desktop/maemo5/cutetube2.png -------------------------------------------------------------------------------- /app/src/base/concurrenttransfersmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef CONCURRENTTRANSERSMODEL_H 18 | #define CONCURRENTTRANSERSMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | #include "definitions.h" 22 | 23 | class ConcurrentTransfersModel : public SelectionModel 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit ConcurrentTransfersModel(QObject *parent = 0) : 29 | SelectionModel(parent) 30 | { 31 | for (int i = 1; i <= MAX_CONCURRENT_TRANSFERS; i++) { 32 | append(QString::number(i), i); 33 | } 34 | } 35 | }; 36 | 37 | #endif // CONCURRENTTRANSERSMODEL_H 38 | -------------------------------------------------------------------------------- /app/src/base/loggerverbositymodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef LOGGERVERBOSITYMODEL_H 18 | #define LOGGERVERBOSITYMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | #include "logger.h" 22 | 23 | class LoggerVerbosityModel : public SelectionModel 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit LoggerVerbosityModel(QObject *parent = 0) : 29 | SelectionModel(parent) 30 | { 31 | append(tr("No logging"), Logger::NoVerbosity); 32 | append(tr("Lowest"), Logger::LowestVerbosity); 33 | append(tr("Low"), Logger::LowVerbosity); 34 | append(tr("Medium"), Logger::MediumVerbosity); 35 | append(tr("High"), Logger::HighVerbosity); 36 | append(tr("Highest"), Logger::HighestVerbosity); 37 | } 38 | }; 39 | 40 | #endif // LOGGERVERBOSITYMODEL_H 41 | -------------------------------------------------------------------------------- /app/src/base/networkproxytypemodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef NETWORKPROXYTYPEMODEL_H 18 | #define NETWORKPROXYTYPEMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | #include 22 | 23 | class NetworkProxyTypeModel : public SelectionModel 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit NetworkProxyTypeModel(QObject *parent = 0) : 29 | SelectionModel(parent) 30 | { 31 | append(tr("HTTP"), QNetworkProxy::HttpProxy); 32 | append(tr("HTTP caching"), QNetworkProxy::HttpCachingProxy); 33 | append(tr("SOCKS5"), QNetworkProxy::Socks5Proxy); 34 | } 35 | }; 36 | 37 | #endif // NETWORKPROXYTYPEMODEL_H 38 | -------------------------------------------------------------------------------- /app/src/base/transferprioritymodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef TRANSFERPRIORITYMODEL_H 18 | #define TRANSFERPRIORITYMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | #include "transfer.h" 22 | 23 | class TransferPriorityModel : public SelectionModel 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit TransferPriorityModel(QObject *parent = 0) : 29 | SelectionModel(parent) 30 | { 31 | append(tr("High"), Transfer::HighPriority); 32 | append(tr("Normal"), Transfer::NormalPriority); 33 | append(tr("Low"), Transfer::LowPriority); 34 | } 35 | }; 36 | 37 | #endif // TRANSFERPRIORITYMODEL_H 38 | -------------------------------------------------------------------------------- /app/src/base/utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef UTILS_H 18 | #define UTILS_H 19 | 20 | #include 21 | 22 | class QString; 23 | class QUrl; 24 | 25 | class Utils : public QObject 26 | { 27 | Q_OBJECT 28 | 29 | public: 30 | explicit Utils(QObject *parent = 0); 31 | 32 | Q_INVOKABLE static QString createId(); 33 | 34 | Q_INVOKABLE static QString formatBytes(qint64 bytes); 35 | 36 | Q_INVOKABLE static QString formatLargeNumber(qint64 num); 37 | 38 | Q_INVOKABLE static QString formatMSecs(qint64 ms); 39 | Q_INVOKABLE static QString formatSecs(qint64 s); 40 | 41 | Q_INVOKABLE static bool isLocalFile(const QUrl &url); 42 | 43 | Q_INVOKABLE static QString toRichText(QString s); 44 | 45 | Q_INVOKABLE static QString unescape(const QString &s); 46 | }; 47 | 48 | #endif // UTILS_H 49 | -------------------------------------------------------------------------------- /app/src/dailymotion/dailymotionnavmodel.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "dailymotionnavmodel.h" 18 | #include "dailymotion.h" 19 | 20 | DailymotionNavModel::DailymotionNavModel(QObject *parent) : 21 | QStringListModel(parent) 22 | { 23 | reload(); 24 | connect(Dailymotion::instance(), SIGNAL(userIdChanged(QString)), this, SLOT(reload())); 25 | } 26 | 27 | void DailymotionNavModel::reload() { 28 | if (Dailymotion::userId().isEmpty()) { 29 | setStringList(QStringList() << tr("Accounts") << tr("Search") << tr("Categories")); 30 | } 31 | else { 32 | setStringList(QStringList() << tr("Accounts") << tr("Search") << tr("Categories") << tr("My videos") 33 | << tr("Latest videos") << tr("Likes") << tr("Playlists") 34 | << tr("Subscriptions")); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/dailymotion/dailymotionnavmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef DAILYMOTIONNAVMODEL_H 18 | #define DAILYMOTIONNAVMODEL_H 19 | 20 | #include 21 | 22 | class DailymotionNavModel : public QStringListModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit DailymotionNavModel(QObject *parent = 0); 28 | 29 | public Q_SLOTS: 30 | void reload(); 31 | }; 32 | 33 | #endif // DAILYMOTIONNAVMODEL_H 34 | -------------------------------------------------------------------------------- /app/src/dbus/dbusservice.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef DBUSSERVICE_H 18 | #define DBUSSERVICE_H 19 | 20 | #include 21 | #include 22 | 23 | class DBusService : public QObject 24 | { 25 | Q_OBJECT 26 | 27 | Q_PROPERTY(QVariantMap requestedResource READ requestedResource NOTIFY resourceRequested) 28 | 29 | Q_CLASSINFO("D-Bus Interface", "org.marxoft.cutetube2") 30 | 31 | public: 32 | explicit DBusService(QObject *parent = 0); 33 | 34 | QVariantMap requestedResource() const; 35 | 36 | public Q_SLOTS: 37 | Q_SCRIPTABLE bool showResource(const QString &url); 38 | Q_SCRIPTABLE bool showResource(const QStringList &url); 39 | 40 | Q_SIGNALS: 41 | void resourceRequested(const QVariantMap &resource); 42 | 43 | private: 44 | QVariantMap m_resource; 45 | }; 46 | 47 | #endif // DBUSSERVICE_H 48 | -------------------------------------------------------------------------------- /app/src/desktop/banner.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef BANNER_H 18 | #define BANNER_H 19 | 20 | #include "image.h" 21 | 22 | class Banner : public Image 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(QUrl avatarSource READ avatarSource WRITE setAvatarSource) 27 | 28 | public: 29 | explicit Banner(QWidget *parent = 0); 30 | 31 | QUrl avatarSource() const; 32 | void setAvatarSource(const QUrl &url); 33 | 34 | protected: 35 | void paintEvent(QPaintEvent *e); 36 | 37 | QUrl m_avatarSource; 38 | }; 39 | 40 | #endif // BANNER_H 41 | -------------------------------------------------------------------------------- /app/src/desktop/generalsettingstab.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef GENERALSETTINGSTAB_H 18 | #define GENERALSETTINGSTAB_H 19 | 20 | #include "settingstab.h" 21 | 22 | class QCheckBox; 23 | class QFormLayout; 24 | class QLineEdit; 25 | 26 | class GeneralSettingsTab : public SettingsTab 27 | { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit GeneralSettingsTab(QWidget *parent = 0); 32 | 33 | public Q_SLOTS: 34 | virtual void restore(); 35 | virtual void save(); 36 | 37 | private: 38 | QLineEdit *m_commandEdit; 39 | 40 | QCheckBox *m_clipboardCheckBox; 41 | 42 | QFormLayout *m_layout; 43 | }; 44 | 45 | #endif // GENERALSETTINGSTAB_H 46 | -------------------------------------------------------------------------------- /app/src/desktop/pagestack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef PAGESTACK_H 18 | #define PAGESTACK_H 19 | 20 | #include 21 | 22 | class Page; 23 | 24 | class PageStack : public QWidget 25 | { 26 | Q_OBJECT 27 | 28 | Q_PROPERTY(int count READ count NOTIFY countChanged) 29 | 30 | public: 31 | explicit PageStack(QWidget *parent = 0) : QWidget(parent) {} 32 | 33 | virtual int count() const = 0; 34 | 35 | virtual Page* currentPage() const = 0; 36 | 37 | public Q_SLOTS: 38 | virtual void push(Page *page) = 0; 39 | virtual void replace(Page *page) = 0; 40 | virtual void pop() = 0; 41 | virtual void clear() = 0; 42 | 43 | Q_SIGNALS: 44 | void countChanged(int count); 45 | void currentChanged(Page *page); 46 | }; 47 | 48 | #endif // PAGESTACK_H 49 | -------------------------------------------------------------------------------- /app/src/desktop/playlistthumbnail.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef PLAYLISTTHUMBNAIL_H 18 | #define PLAYLISTTHUMBNAIL_H 19 | 20 | #include "image.h" 21 | 22 | class PlaylistThumbnail : public Image 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(int videoCount READ videoCount WRITE setVideoCount) 27 | 28 | public: 29 | explicit PlaylistThumbnail(QWidget *parent = 0); 30 | 31 | int videoCount() const; 32 | void setVideoCount(int count); 33 | 34 | protected: 35 | void paintEvent(QPaintEvent *e); 36 | 37 | int m_count; 38 | }; 39 | 40 | #endif // PLAYLISTTHUMBNAIL_H 41 | -------------------------------------------------------------------------------- /app/src/desktop/pluginssettingstab.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef PLUGINSSETTINGSTAB_H 18 | #define PLUGINSSETTINGSTAB_H 19 | 20 | #include "settingstab.h" 21 | 22 | class PluginConfigModel; 23 | class QListView; 24 | class QScrollArea; 25 | class QSplitter; 26 | class QVBoxLayout; 27 | 28 | class PluginsSettingsTab : public SettingsTab 29 | { 30 | Q_OBJECT 31 | 32 | public: 33 | explicit PluginsSettingsTab(QWidget *parent = 0); 34 | 35 | public Q_SLOTS: 36 | virtual void save(); 37 | 38 | private Q_SLOTS: 39 | void setCurrentPlugin(const QModelIndex &index); 40 | 41 | private: 42 | PluginConfigModel *m_model; 43 | 44 | QListView *m_view; 45 | 46 | QScrollArea *m_scrollArea; 47 | 48 | QSplitter *m_splitter; 49 | 50 | QVBoxLayout *m_layout; 51 | }; 52 | 53 | #endif // PLUGINSSETTINGSTAB_H 54 | -------------------------------------------------------------------------------- /app/src/desktop/settingstab.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "settingstab.h" 18 | 19 | SettingsTab::SettingsTab(QWidget *parent) : 20 | QWidget(parent) 21 | { 22 | } 23 | 24 | void SettingsTab::restore() {} 25 | 26 | void SettingsTab::save() {} 27 | -------------------------------------------------------------------------------- /app/src/desktop/settingstab.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef SETTINGSTAB_H 18 | #define SETTINGSTAB_H 19 | 20 | #include 21 | 22 | class SettingsTab : public QWidget 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit SettingsTab(QWidget *parent = 0); 28 | 29 | public Q_SLOTS: 30 | virtual void restore(); 31 | virtual void save(); 32 | }; 33 | 34 | #endif // SETTINGSTAB_H 35 | -------------------------------------------------------------------------------- /app/src/desktop/textbrowser.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "textbrowser.h" 18 | 19 | TextBrowser::TextBrowser(QWidget *parent) : 20 | QTextBrowser(parent) 21 | { 22 | setOpenLinks(false); 23 | setTextInteractionFlags(Qt::LinksAccessibleByMouse); 24 | setFrameStyle(QTextEdit::NoFrame); 25 | setStyleSheet(QString("color: %1; background: transparent") 26 | .arg(palette().color(QPalette::Text).name())); 27 | 28 | //connect(this, SIGNAL(textChanged()), this, SLOT(onTextChanged())); 29 | } 30 | 31 | void TextBrowser::showEvent(QShowEvent *e) { 32 | QTextBrowser::showEvent(e); 33 | setFixedHeight(document()->size().height()); 34 | } 35 | 36 | void TextBrowser::onTextChanged() { 37 | if (isVisible()) { 38 | setFixedHeight(document()->size().height()); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/desktop/textbrowser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef TEXTBROWSER_H 18 | #define TEXTBROWSER_H 19 | 20 | #include 21 | 22 | class TextBrowser : public QTextBrowser 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit TextBrowser(QWidget *parent = 0); 28 | 29 | protected: 30 | void showEvent(QShowEvent *e); 31 | 32 | private Q_SLOTS: 33 | void onTextChanged(); 34 | }; 35 | 36 | #endif // TEXTBROWSER_H 37 | -------------------------------------------------------------------------------- /app/src/desktop/transferdelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef TRANSFERDELEGATE_H 18 | #define TRANSFERDELEGATE_H 19 | 20 | #include 21 | 22 | class TransferDelegate : public QStyledItemDelegate 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit TransferDelegate(QObject *parent = 0); 28 | 29 | virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 30 | }; 31 | 32 | #endif // TRANSFERDELEGATE_H 33 | -------------------------------------------------------------------------------- /app/src/desktop/userdelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef USERDELEGATE_H 18 | #define USERDELEGATE_H 19 | 20 | #include 21 | 22 | class ImageCache; 23 | 24 | class UserDelegate : public QStyledItemDelegate 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit UserDelegate(ImageCache *cache, int subscriberCountRole, int thumbnailRole, int usernameRole, 30 | QObject *parent = 0); 31 | 32 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 33 | 34 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &) const; 35 | 36 | private: 37 | ImageCache *m_cache; 38 | 39 | int m_subscriberCountRole; 40 | int m_thumbnailRole; 41 | int m_usernameRole; 42 | }; 43 | 44 | #endif // USERDELEGATE_H 45 | -------------------------------------------------------------------------------- /app/src/desktop/videoplayermodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOPLAYERMODEL_H 18 | #define VIDEOPLAYERMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | 22 | class VideoPlayerModel : public SelectionModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit VideoPlayerModel(QObject *parent = 0) : 28 | SelectionModel(parent) 29 | { 30 | append("cuteTube", "cutetube"); 31 | append(tr("Other"), "other"); 32 | } 33 | }; 34 | 35 | #endif // VIDEOPLAYERMODEL_H 36 | -------------------------------------------------------------------------------- /app/src/desktop/videothumbnail.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOTHUMBNAIL_H 18 | #define VIDEOTHUMBNAIL_H 19 | 20 | #include "image.h" 21 | 22 | class VideoThumbnail : public Image 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(QString duration READ duration WRITE setDuration) 27 | 28 | public: 29 | explicit VideoThumbnail(QWidget *parent = 0); 30 | 31 | QString duration() const; 32 | void setDuration(const QString &d); 33 | 34 | protected: 35 | void paintEvent(QPaintEvent *e); 36 | 37 | QString m_duration; 38 | }; 39 | 40 | #endif // VIDEOTHUMBNAIL_H 41 | -------------------------------------------------------------------------------- /app/src/harmattan/cookiejar.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef COOKIEJAR_H 19 | #define COOKIEJAR_H 20 | 21 | #include 22 | #include 23 | 24 | class CookieJar : public QNetworkCookieJar 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit CookieJar(QObject *parent = 0); 30 | 31 | Q_INVOKABLE void setAllCookies(const QVariantList &cookies); 32 | Q_INVOKABLE bool setCookiesFromUrl(const QVariantList &cookies, const QUrl &url); 33 | }; 34 | 35 | #endif // COOKIEJAR_H 36 | -------------------------------------------------------------------------------- /app/src/harmattan/maskeditem.h: -------------------------------------------------------------------------------- 1 | #ifndef MASKEDITEM_H 2 | #define MASKEDITEM_H 3 | 4 | #include "maskeffect.h" 5 | #include 6 | 7 | class MaskEffect; 8 | class QDeclarativeComponent; 9 | 10 | 11 | class MaskedItem : public QDeclarativeItem 12 | { 13 | Q_OBJECT 14 | 15 | Q_PROPERTY(QDeclarativeComponent *mask 16 | READ mask 17 | WRITE setMask 18 | NOTIFY maskChanged) 19 | 20 | public: 21 | MaskedItem(QDeclarativeItem *parent = 0); 22 | virtual ~MaskedItem(); 23 | 24 | QDeclarativeComponent *mask() const; 25 | void setMask(QDeclarativeComponent *component); 26 | 27 | signals: 28 | void maskChanged(); 29 | 30 | private: 31 | MaskEffect *m_effect; 32 | QDeclarativeComponent *m_maskComponent; 33 | }; 34 | 35 | #endif // MASKEDITEM_H 36 | -------------------------------------------------------------------------------- /app/src/harmattan/maskeffect.h: -------------------------------------------------------------------------------- 1 | #ifndef MASKEFFECT_H 2 | #define MASKEFFECT_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | 12 | class MaskEffect : public QGraphicsEffect 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | MaskEffect(QObject *parent = 0); 18 | 19 | void setMask(QDeclarativeItem *mask); 20 | 21 | protected: 22 | void draw(QPainter *painter); 23 | 24 | private: 25 | QPixmap m_buffer; 26 | QScopedPointer m_item; 27 | }; 28 | 29 | #endif // MASKEFFECT_H 30 | -------------------------------------------------------------------------------- /app/src/harmattan/networkaccessmanager.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #include "networkaccessmanager.h" 19 | #include "definitions.h" 20 | #include 21 | 22 | NetworkAccessManager::NetworkAccessManager(QObject *parent) : 23 | QNetworkAccessManager(parent) 24 | { 25 | } 26 | 27 | QNetworkReply* NetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &req, 28 | QIODevice *outgoingData) { 29 | QNetworkRequest request(req); 30 | request.setRawHeader("User-Agent", USER_AGENT); 31 | return QNetworkAccessManager::createRequest(op, request, outgoingData); 32 | } 33 | -------------------------------------------------------------------------------- /app/src/harmattan/networkaccessmanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef NETWORKACCESSMANAGER_H 19 | #define NETWORKACCESSMANAGER_H 20 | 21 | #include 22 | 23 | class NetworkAccessManager : public QNetworkAccessManager 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit NetworkAccessManager(QObject *parent = 0); 29 | 30 | protected: 31 | virtual QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0); 32 | }; 33 | 34 | #endif // NETWORKACCESSMANAGER_H 35 | -------------------------------------------------------------------------------- /app/src/harmattan/networkaccessmanagerfactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef NETWORKACCESSMANAGERFACTORY_H 19 | #define NETWORKACCESSMANAGERFACTORY_H 20 | 21 | #include 22 | 23 | class QNetworkCookieJar; 24 | 25 | class NetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory 26 | { 27 | 28 | public: 29 | explicit NetworkAccessManagerFactory(); 30 | ~NetworkAccessManagerFactory(); 31 | 32 | QNetworkCookieJar *cookieJar() const; 33 | 34 | QNetworkAccessManager* create(QObject *parent); 35 | 36 | private: 37 | QNetworkCookieJar *m_cookieJar; 38 | }; 39 | 40 | #endif // NETWORKACCESSMANAGERFACTORY_H 41 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/BackToolIcon.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | MyToolIcon { 22 | property Item pageToDestroy: null 23 | 24 | platformIconId: "toolbar-back" 25 | onClicked: { 26 | pageToDestroy = appWindow.pageStack.currentPage; 27 | appWindow.pageStack.pop(); 28 | } 29 | 30 | Connections { 31 | target: pageToDestroy === null ? null : appWindow.pageStack 32 | onBusyChanged: { 33 | if ((!appWindow.pageStack.busy) && (pageToDestroy !== null)) { 34 | pageToDestroy.destroy(); 35 | pageToDestroy = null; 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/DrillDownDelegate.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | import "file:///usr/lib/qt4/imports/com/nokia/meego/UIConstants.js" as UI 21 | 22 | ListItem { 23 | id: root 24 | 25 | property alias text: label.text 26 | 27 | subItemIndicator: true 28 | 29 | Label { 30 | id: label 31 | 32 | anchors { 33 | fill: parent 34 | margins: UI.PADDING_DOUBLE 35 | } 36 | verticalAlignment: Text.AlignVCenter 37 | elide: Text.ElideRight 38 | font.bold: true 39 | text: display 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/LabelDelegate.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | import "file:///usr/lib/qt4/imports/com/nokia/meego/UIConstants.js" as UI 21 | 22 | ListItem { 23 | id: root 24 | 25 | property alias text: label.text 26 | 27 | Label { 28 | id: label 29 | 30 | anchors { 31 | fill: parent 32 | margins: UI.PADDING_DOUBLE 33 | } 34 | verticalAlignment: Text.AlignVCenter 35 | elide: Text.ElideRight 36 | font.bold: true 37 | text: display 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/LinkLabel.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | Label { 22 | id: root 23 | 24 | property string link 25 | 26 | signal clicked 27 | 28 | color: mouseArea.pressed ? Qt.lighter(Settings.activeColor) : Settings.activeColor 29 | 30 | MouseArea { 31 | id: mouseArea 32 | 33 | anchors.fill: parent 34 | onClicked: { 35 | root.clicked(); 36 | 37 | if (root.link) { 38 | Qt.openUrlExternally(root.link); 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyBusyIndicator.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 1.1 2 | import com.nokia.meego 1.0 3 | 4 | BusyIndicator { 5 | property alias size: style.size 6 | property alias inverted: style.inverted 7 | 8 | running: visible 9 | platformStyle: BusyIndicatorStyle { 10 | id: style 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyButton.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | Button { 22 | property string value 23 | property string color: Settings.activeColorString 24 | 25 | platformStyle: ButtonStyle { 26 | pressedBackground: "image://theme/" + color + "-meegotouch-button" + __invertedString + "-background-pressed" + (position ? "-" + position : "") 27 | checkedBackground: "image://theme/" + color + "-meegotouch-button" + __invertedString + "-background-selected" + (position ? "-" + position : "") 28 | checkedDisabledBackground: "image://theme/" + color + "-meegotouch-button" + __invertedString + "-background-disabled-selected" + (position ? "-" + position : "") 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyCheckBox.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | CheckBox { 22 | id: root 23 | 24 | platformStyle: CheckBoxStyle { 25 | backgroundPressed: "image://theme/" + Settings.activeColorString + "-meegotouch-button-checkbox" + __invertedString + "-background-pressed" 26 | backgroundSelected: "image://theme/" + Settings.activeColorString + "-meegotouch-button-checkbox" + __invertedString + "-background-selected" 27 | } 28 | 29 | MouseArea { 30 | z: root.enabled ? -1 : 10 31 | anchors.fill: parent 32 | enabled: !root.enabled 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyInfoBanner.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.extras 1.1 20 | 21 | InfoBanner { 22 | id: banner 23 | 24 | function showMessage(message) { 25 | banner.text = message; 26 | banner.show(); 27 | } 28 | 29 | topMargin: 40 30 | } 31 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyPage.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | Page { 22 | id: root 23 | 24 | property string title: "" 25 | property bool showProgressIndicator: false 26 | 27 | anchors { 28 | fill: parent 29 | topMargin: title ? titleHeader.height : 0 30 | } 31 | 32 | orientationLock: Settings.screenOrientation 33 | } 34 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyProgressBar.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | ProgressBar { 22 | property alias inverted: style.inverted 23 | 24 | platformStyle: ProgressBarStyle { 25 | id: style 26 | 27 | unknownTexture: "image://theme/" + Settings.activeColorString + "-meegotouch-progressindicator" + __invertedString + "-bar-unknown-texture" 28 | knownTexture: "image://theme/" + Settings.activeColorString + "-meegotouch-progressindicator" + __invertedString + "-bar-known-texture" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyTextArea.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | TextArea { 22 | platformStyle: TextAreaStyle { 23 | backgroundSelected: "image://theme/" + Settings.activeColorString + "-meegotouch-textedit-background-selected" 24 | backgroundDisabled: "image://theme/" + Settings.activeColorString + "-meegotouch-textedit-background-disabled" 25 | backgroundError: "image://theme/" + Settings.activeColorString + "-meegotouch-textedit-background-error" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/MyToolIcon.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | import "file:///usr/lib/qt4/imports/com/nokia/meego/UIConstants.js" as UI 21 | 22 | ToolIcon { 23 | opacity: enabled ? UI.OPACITY_ENABLED : UI.OPACITY_DISABLED 24 | } 25 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/SeekBubble.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | import "file:///usr/lib/qt4/imports/com/nokia/meego/UIConstants.js" as UI 21 | 22 | Image { 23 | 24 | property string value 25 | 26 | source: "images/seekbubble.png" 27 | opacity: 0 28 | 29 | Behavior on opacity { PropertyAnimation { properties: "opacity"; duration: 200 } } 30 | 31 | Label { 32 | anchors { fill: parent; bottomMargin: UI.PADDING_DOUBLE } 33 | text: parent.value 34 | font.pixelSize: text.length > 5 ? UI.FONT_SMALL : UI.FONT_SMALL 35 | color: UI.COLOR_INVERTED_SECONDARY_FOREGROUND 36 | horizontalAlignment: Text.AlignHCenter 37 | verticalAlignment: Text.AlignVCenter 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/Tab.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | 21 | Item { 22 | id: root 23 | 24 | property string title: "" 25 | property bool showProgressIndicator: false 26 | property Item tools: null 27 | 28 | width: parent ? parent.width : undefined 29 | height: parent ? parent.height : undefined 30 | } 31 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/TabLoader.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | 20 | Loader { 21 | id: root 22 | 23 | property string title 24 | property bool showProgressIndicator: item ? item.showProgressIndicator : false 25 | property Component tab: null 26 | property Item tools: item ? item.tools : null 27 | property bool loaded: sourceComponent == tab 28 | 29 | function loadTab() { 30 | sourceComponent = tab; 31 | } 32 | 33 | function unloadTab() { 34 | sourceComponent = undefined; 35 | } 36 | 37 | width: parent ? parent.width : undefined 38 | height: parent ? parent.width : undefined 39 | } 40 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/ValueDialog.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.meego 1.0 20 | import cuteTube 2.0 21 | 22 | MySelectionDialog { 23 | id: root 24 | 25 | property variant value 26 | 27 | onAccepted: if (model) value = model.data(selectedIndex, "value"); 28 | onStatusChanged: { 29 | if ((status === DialogStatus.Opening) && (model) && (model.count > 0)) { 30 | selectedIndex = Math.max(0, model.match("value", value)); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/avatar-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/avatar-frame.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/avatar-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/avatar-mask.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/avatar.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/comment-outgoing-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/comment-outgoing-inverted.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/comment-outgoing-pressed-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/comment-outgoing-pressed-inverted.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/comment-outgoing-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/comment-outgoing-pressed.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/comment-outgoing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/comment-outgoing.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color10.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color11.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color12.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color13.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color14.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color15.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color16.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color17.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color18.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color19.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color2.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color3.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color4.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color5.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color6.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color7.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color8.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-color9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-color9.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike-inverted.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/dislike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/dislike.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color10.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color11.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color12.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color13.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color14.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color15.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color16.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color17.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color18.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color19.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color2.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color3.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color4.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color5.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color6.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color7.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color8.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-color9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-color9.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like-inverted.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/like.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/seekbubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/seekbubble.png -------------------------------------------------------------------------------- /app/src/harmattan/qml/images/toolbar-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/harmattan/qml/images/toolbar-background.png -------------------------------------------------------------------------------- /app/src/harmattan/screenorientationmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef SCREENORIENTATIONMODEL_H 18 | #define SCREENORIENTATIONMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | 22 | class ScreenOrientationModel : public SelectionModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit ScreenOrientationModel(QObject *parent = 0) : 28 | SelectionModel(parent) 29 | { 30 | append(tr("Automatic"), 0); 31 | append(tr("Portrait"), 1); 32 | append(tr("Landscape"), 2); 33 | } 34 | }; 35 | 36 | #endif // SCREENORIENTATIONMODEL_H 37 | -------------------------------------------------------------------------------- /app/src/harmattan/screensaver.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #include "screensaver.h" 19 | 20 | ScreenSaver::ScreenSaver(QObject *parent) : 21 | QObject(parent) 22 | { 23 | m_timer.setInterval(60000); 24 | connect(&m_timer, SIGNAL(timeout()), this, SLOT(preventBlanking())); 25 | } 26 | 27 | void ScreenSaver::preventBlanking(bool prevent) { 28 | if (prevent) { 29 | m_displayState.setBlankingPause(); 30 | m_timer.start(); 31 | } 32 | else { 33 | m_displayState.cancelBlankingPause(); 34 | m_timer.stop(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/harmattan/screensaver.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef SCREENSAVER_H 19 | #define SCREENSAVER_H 20 | 21 | #include 22 | #include 23 | 24 | class ScreenSaver : public QObject 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit ScreenSaver(QObject *parent = 0); 30 | 31 | public slots: 32 | void preventBlanking(bool prevent = true); 33 | 34 | private: 35 | MeeGo::QmDisplayState m_displayState; 36 | QTimer m_timer; 37 | }; 38 | 39 | #endif // SCREENSAVER_H 40 | -------------------------------------------------------------------------------- /app/src/harmattan/shareui.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef SHAREUI_H 19 | #define SHAREUI_H 20 | 21 | #include 22 | #include 23 | 24 | class CTVideo; 25 | 26 | class ShareUi : public QObject 27 | { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit ShareUi(QObject *parent = 0); 32 | 33 | Q_INVOKABLE static bool shareVideo(CTVideo *video); 34 | Q_INVOKABLE static bool share(const QString &uri); 35 | Q_INVOKABLE static bool share(const QString &mimeType, const QString &textData, const QVariantMap &attributes); 36 | }; 37 | 38 | #endif // SHAREUI_H 39 | -------------------------------------------------------------------------------- /app/src/harmattan/videolauncher.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "videolauncher.h" 18 | #include "settings.h" 19 | #include 20 | #include 21 | 22 | VideoLauncher::VideoLauncher(QObject *parent) : 23 | QObject(parent) 24 | { 25 | } 26 | 27 | bool VideoLauncher::playVideo(const QString &url) { 28 | const QString &player = Settings::videoPlayer(); 29 | 30 | if (player == "other") { 31 | return QProcess::startDetatched(Settings::videoPlayerCommand().replace("%u", url)); 32 | } 33 | else { 34 | return ContentAction::Action::launcherAction(player + ".desktop", QStringList(url)).trigger(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/harmattan/videolauncher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOLAUNCHER_H 18 | #define VIDEOLAUNCHER_H 19 | 20 | #include 21 | 22 | class VideoLauncher : public QObject 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit VideoLauncher(QObject *parent = 0); 28 | 29 | public Q_SLOTS: 30 | static bool playVideo(const QString &url); 31 | }; 32 | 33 | #endif // VIDEOLAUNCHER_H 34 | -------------------------------------------------------------------------------- /app/src/maemo5/aboutdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef ABOUTDIALOG_H 19 | #define ABOUTDIALOG_H 20 | 21 | #include "dialog.h" 22 | 23 | class AboutDialog : public Dialog 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit AboutDialog(QWidget *parent = 0); 29 | 30 | private Q_SLOTS: 31 | void reportBug(); 32 | }; 33 | 34 | #endif // ABOUTDIALOG_H 35 | -------------------------------------------------------------------------------- /app/src/maemo5/accountdelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef ACCOUNTDELEGATE_H 18 | #define ACCOUNTDELEGATE_H 19 | 20 | #include 21 | 22 | class AccountDelegate : public QStyledItemDelegate 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit AccountDelegate(int activeRole, QObject *parent = 0); 28 | 29 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 30 | 31 | private: 32 | int m_activeRole; 33 | }; 34 | 35 | #endif // ACCOUNTDELEGATE_H 36 | -------------------------------------------------------------------------------- /app/src/maemo5/banner.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef BANNER_H 18 | #define BANNER_H 19 | 20 | #include "image.h" 21 | 22 | class Banner : public Image 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(QUrl avatarSource READ avatarSource WRITE setAvatarSource) 27 | 28 | public: 29 | explicit Banner(QWidget *parent = 0); 30 | 31 | QUrl avatarSource() const; 32 | void setAvatarSource(const QUrl &url); 33 | 34 | protected: 35 | void paintEvent(QPaintEvent *e); 36 | 37 | QUrl m_avatarSource; 38 | }; 39 | 40 | #endif // BANNER_H 41 | -------------------------------------------------------------------------------- /app/src/maemo5/categoriesdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef CATEGORIESDIALOG_H 19 | #define CATEGORIESDIALOG_H 20 | 21 | #include "dialog.h" 22 | 23 | class CategoryModel; 24 | class QTreeView; 25 | class QModelIndex; 26 | 27 | class CategoriesDialog : public Dialog 28 | { 29 | Q_OBJECT 30 | 31 | public: 32 | explicit CategoriesDialog(QWidget *parent = 0); 33 | 34 | private Q_SLOTS: 35 | void editCategory(const QModelIndex &index); 36 | void removeCategory(); 37 | 38 | void showNewCategoryDialog(); 39 | 40 | private: 41 | CategoryModel *m_model; 42 | 43 | QTreeView *m_view; 44 | }; 45 | 46 | #endif // CATEGORIESDIALOG_H 47 | -------------------------------------------------------------------------------- /app/src/maemo5/categorydelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef CATEGORYDELEGATE_H 18 | #define CATEGORYDELEGATE_H 19 | 20 | #include 21 | 22 | class CategoryDelegate : public QStyledItemDelegate 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit CategoryDelegate(QObject *parent = 0); 28 | 29 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 30 | }; 31 | 32 | #endif // CATEGORYDELEGATE_H 33 | -------------------------------------------------------------------------------- /app/src/maemo5/dailymotion/dailymotionauthdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef DAILYMOTIONAUTHDIALOG_H 18 | #define DAILYMOTIONAUTHDIALOG_H 19 | 20 | #include "dialog.h" 21 | 22 | class WebView; 23 | class QUrl; 24 | class QVBoxLayout; 25 | 26 | class DailymotionAuthDialog : public Dialog 27 | { 28 | Q_OBJECT 29 | 30 | Q_PROPERTY(QString code READ code) 31 | 32 | public: 33 | explicit DailymotionAuthDialog(QWidget *parent = 0); 34 | 35 | QString code() const; 36 | 37 | public Q_SLOTS: 38 | void login(); 39 | 40 | private Q_SLOTS: 41 | void onWebViewUrlChanged(const QUrl &url); 42 | 43 | private: 44 | void setCode(const QString &code); 45 | 46 | WebView *m_view; 47 | QVBoxLayout *m_layout; 48 | 49 | QString m_code; 50 | }; 51 | 52 | #endif // DAILYMOTIONAUTHDIALOG_H 53 | -------------------------------------------------------------------------------- /app/src/maemo5/dialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef DIALOG_H 18 | #define DIALOG_H 19 | 20 | #include 21 | 22 | class Dialog : public QDialog 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit Dialog(QWidget *parent = 0); 28 | 29 | bool isBusy() const; 30 | 31 | public Q_SLOTS: 32 | void showProgressIndicator(); 33 | void hideProgressIndicator(); 34 | 35 | protected: 36 | virtual void showEvent(QShowEvent *e); 37 | 38 | private: 39 | int m_progressCount; 40 | }; 41 | 42 | #endif // DIALOG_H 43 | -------------------------------------------------------------------------------- /app/src/maemo5/filterbox.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "filterbox.h" 18 | #include 19 | #include 20 | 21 | FilterBox::FilterBox(QWidget *parent) : 22 | QToolBar(parent), 23 | m_filterEdit(new QLineEdit(this)), 24 | m_cancelAction(addAction(QIcon::fromTheme("general_close"), QString(), this, SLOT(clear()))) 25 | { 26 | insertWidget(m_cancelAction, m_filterEdit); 27 | setFocusProxy(m_filterEdit); 28 | setAllowedAreas(Qt::BottomToolBarArea); 29 | 30 | connect(m_filterEdit, SIGNAL(textChanged(QString)), this, SIGNAL(textChanged(QString))); 31 | } 32 | 33 | QString FilterBox::text() const { 34 | return m_filterEdit->text(); 35 | } 36 | 37 | void FilterBox::setText(const QString &text) { 38 | m_filterEdit->setText(text); 39 | } 40 | 41 | void FilterBox::clear() { 42 | m_filterEdit->clear(); 43 | } 44 | -------------------------------------------------------------------------------- /app/src/maemo5/filterbox.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef FILTERBOX_H 18 | #define FILTERBOX_H 19 | 20 | #include 21 | 22 | class QAction; 23 | class QLineEdit; 24 | 25 | class FilterBox : public QToolBar 26 | { 27 | Q_OBJECT 28 | 29 | Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) 30 | 31 | public: 32 | explicit FilterBox(QWidget *parent = 0); 33 | 34 | QString text() const; 35 | 36 | public Q_SLOTS: 37 | void setText(const QString &text); 38 | void clear(); 39 | 40 | Q_SIGNALS: 41 | void textChanged(const QString &text); 42 | 43 | private: 44 | QLineEdit *m_filterEdit; 45 | QAction *m_cancelAction; 46 | }; 47 | 48 | #endif // FILTERBOX_H 49 | -------------------------------------------------------------------------------- /app/src/maemo5/navdelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef NAVDELEGATE_H 18 | #define NAVDELEGATE_H 19 | 20 | #include 21 | 22 | class NavDelegate : public QStyledItemDelegate 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit NavDelegate(QObject *parent = 0); 28 | 29 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 30 | }; 31 | 32 | #endif // NAVDELEGATE_H 33 | -------------------------------------------------------------------------------- /app/src/maemo5/playlistthumbnail.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef PLAYLISTTHUMBNAIL_H 18 | #define PLAYLISTTHUMBNAIL_H 19 | 20 | #include "image.h" 21 | 22 | class PlaylistThumbnail : public Image 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(int videoCount READ videoCount WRITE setVideoCount) 27 | 28 | public: 29 | explicit PlaylistThumbnail(QWidget *parent = 0); 30 | 31 | int videoCount() const; 32 | void setVideoCount(int count); 33 | 34 | protected: 35 | void paintEvent(QPaintEvent *e); 36 | 37 | int m_count; 38 | }; 39 | 40 | #endif // PLAYLISTTHUMBNAIL_H 41 | -------------------------------------------------------------------------------- /app/src/maemo5/screensaver.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "screensaver.h" 18 | #include 19 | #include 20 | #include 21 | 22 | void preventScreenBlanking(WId windowId, bool enabled) { 23 | Atom atom = XInternAtom(QX11Info::display() , "_HILDON_DO_NOT_DISTURB", False); 24 | 25 | if (enabled) { 26 | long state = 1; 27 | XChangeProperty( 28 | QX11Info::display(), 29 | windowId, 30 | atom, 31 | XA_INTEGER, 32 | 32, 33 | PropModeReplace, 34 | (unsigned char *) &state, 35 | 1); 36 | } 37 | else { 38 | XDeleteProperty(QX11Info::display(), windowId, atom); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/maemo5/screensaver.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef SCREENSAVER_H 18 | #define SCREENSAVER_H 19 | 20 | #include 21 | 22 | void preventScreenBlanking(WId windowId, bool enabled); 23 | 24 | #endif // SCREENSAVER_H 25 | -------------------------------------------------------------------------------- /app/src/maemo5/stackedwindow.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef STACKEDWINDOW_H 18 | #define STACKEDWINDOW_H 19 | 20 | #include 21 | 22 | class StackedWindow : public QMainWindow 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(bool busy READ isBusy) 27 | 28 | public: 29 | explicit StackedWindow(StackedWindow *parent = 0); 30 | ~StackedWindow(); 31 | 32 | static StackedWindow* currentWindow(); 33 | static void popWindow(); 34 | static void clearWindows(); 35 | 36 | bool isBusy() const; 37 | 38 | public Q_SLOTS: 39 | void showProgressIndicator(); 40 | void hideProgressIndicator(); 41 | 42 | protected: 43 | virtual void showEvent(QShowEvent *e); 44 | 45 | static QList stack; 46 | 47 | private: 48 | int m_progressCount; 49 | }; 50 | 51 | #endif // STACKEDWINDOW_H 52 | -------------------------------------------------------------------------------- /app/src/maemo5/textbrowser.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "textbrowser.h" 18 | 19 | TextBrowser::TextBrowser(QWidget *parent) : 20 | QTextBrowser(parent) 21 | { 22 | setOpenLinks(false); 23 | setTextInteractionFlags(Qt::LinksAccessibleByMouse); 24 | setFrameStyle(QTextEdit::NoFrame); 25 | setStyleSheet(QString("color: %1; font-size: 13pt; background: transparent") 26 | .arg(palette().color(QPalette::Text).name())); 27 | 28 | connect(this, SIGNAL(textChanged()), this, SLOT(onTextChanged())); 29 | } 30 | 31 | void TextBrowser::showEvent(QShowEvent *e) { 32 | QTextBrowser::showEvent(e); 33 | setFixedHeight(document()->size().height()); 34 | } 35 | 36 | void TextBrowser::onTextChanged() { 37 | if (isVisible()) { 38 | setFixedHeight(document()->size().height()); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/maemo5/textbrowser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef TEXTBROWSER_H 18 | #define TEXTBROWSER_H 19 | 20 | #include 21 | 22 | class TextBrowser : public QTextBrowser 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit TextBrowser(QWidget *parent = 0); 28 | 29 | protected: 30 | void showEvent(QShowEvent *e); 31 | 32 | private Q_SLOTS: 33 | void onTextChanged(); 34 | }; 35 | 36 | #endif // TEXTBROWSER_H 37 | -------------------------------------------------------------------------------- /app/src/maemo5/videolauncher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOLAUNCHER_H 18 | #define VIDEOLAUNCHER_H 19 | 20 | #include 21 | 22 | class VideoLauncher : public QObject 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit VideoLauncher(QObject *parent = 0); 28 | 29 | public Q_SLOTS: 30 | static bool playVideo(const QString &url); 31 | }; 32 | 33 | #endif // VIDEOLAUNCHER_H 34 | -------------------------------------------------------------------------------- /app/src/maemo5/videoplaybackdelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOPLAYBACKDELEGATE_H 18 | #define VIDEOPLAYBACKDELEGATE_H 19 | 20 | #include 21 | 22 | class ImageCache; 23 | 24 | class VideoPlaybackDelegate : public QStyledItemDelegate 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit VideoPlaybackDelegate(ImageCache *cache, QObject *parent = 0); 30 | 31 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 32 | 33 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &) const; 34 | 35 | private: 36 | ImageCache *m_cache; 37 | }; 38 | 39 | #endif // VIDEOPLAYBACKDELEGATE_H 40 | -------------------------------------------------------------------------------- /app/src/maemo5/videoplayerbutton.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOPLAYERBUTTON_H 18 | #define VIDEOPLAYERBUTTON_H 19 | 20 | #include 21 | 22 | class VideoPlayerButton : public QAbstractButton 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | enum Role { 28 | PlayPause = 0, 29 | Previous, 30 | Next, 31 | Back, 32 | Settings 33 | }; 34 | 35 | public: 36 | explicit VideoPlayerButton(Role buttonRole, QWidget *parent = 0); 37 | 38 | protected: 39 | void paintEvent(QPaintEvent *); 40 | 41 | private: 42 | Role m_role; 43 | }; 44 | 45 | #endif // VIDEOPLAYERBUTTON_H 46 | -------------------------------------------------------------------------------- /app/src/maemo5/videothumbnail.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOTHUMBNAIL_H 18 | #define VIDEOTHUMBNAIL_H 19 | 20 | #include "image.h" 21 | 22 | class VideoThumbnail : public Image 23 | { 24 | Q_OBJECT 25 | 26 | Q_PROPERTY(QString duration READ duration WRITE setDuration) 27 | 28 | public: 29 | explicit VideoThumbnail(QWidget *parent = 0); 30 | 31 | QString duration() const; 32 | void setDuration(const QString &d); 33 | 34 | protected: 35 | void paintEvent(QPaintEvent *e); 36 | 37 | QString m_duration; 38 | }; 39 | 40 | #endif // VIDEOTHUMBNAIL_H 41 | -------------------------------------------------------------------------------- /app/src/maemo5/videowidget.cpp: -------------------------------------------------------------------------------- 1 | #include "videowidget.h" 2 | #include 3 | 4 | VideoWidget::VideoWidget(QWidget *parent) : 5 | QVideoWidget(parent) 6 | { 7 | setFocusPolicy(Qt::NoFocus); 8 | } 9 | 10 | void VideoWidget::mousePressEvent(QMouseEvent *e) { 11 | m_pressed = true; 12 | e->accept(); 13 | } 14 | 15 | void VideoWidget::mouseReleaseEvent(QMouseEvent *e) { 16 | if (m_pressed) { 17 | emit clicked(); 18 | e->accept(); 19 | } 20 | 21 | m_pressed = false; 22 | } 23 | 24 | void VideoWidget::toggleAspectRatioMode() { 25 | switch (aspectRatioMode()) { 26 | case Qt::KeepAspectRatio: 27 | setAspectRatioMode(Qt::KeepAspectRatioByExpanding); 28 | break; 29 | case Qt::KeepAspectRatioByExpanding: 30 | setAspectRatioMode(Qt::IgnoreAspectRatio); 31 | break; 32 | default: 33 | setAspectRatioMode(Qt::KeepAspectRatio); 34 | break; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/maemo5/videowidget.h: -------------------------------------------------------------------------------- 1 | #ifndef VIDEOWIDGET_H 2 | #define VIDEOWIDGET_H 3 | 4 | #include 5 | 6 | class VideoWidget : public QVideoWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | explicit VideoWidget(QWidget *parent = 0); 12 | 13 | public Q_SLOTS: 14 | void toggleAspectRatioMode(); 15 | 16 | protected: 17 | void mousePressEvent(QMouseEvent *e); 18 | void mouseReleaseEvent(QMouseEvent *e); 19 | 20 | Q_SIGNALS: 21 | void clicked(); 22 | 23 | private: 24 | bool m_pressed; 25 | }; 26 | 27 | #endif // VIDEOWIDGET_H 28 | -------------------------------------------------------------------------------- /app/src/maemo5/vimeo/vimeoauthdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIMEOAUTHDIALOG_H 18 | #define VIMEOAUTHDIALOG_H 19 | 20 | #include "dialog.h" 21 | 22 | class WebView; 23 | class QUrl; 24 | class QVBoxLayout; 25 | 26 | class VimeoAuthDialog : public Dialog 27 | { 28 | Q_OBJECT 29 | 30 | Q_PROPERTY(QString code READ code) 31 | 32 | public: 33 | explicit VimeoAuthDialog(QWidget *parent = 0); 34 | 35 | QString code() const; 36 | 37 | public Q_SLOTS: 38 | void login(); 39 | 40 | private Q_SLOTS: 41 | void onWebViewUrlChanged(const QUrl &url); 42 | 43 | private: 44 | void setCode(const QString &code); 45 | 46 | WebView *m_view; 47 | QVBoxLayout *m_layout; 48 | 49 | QString m_code; 50 | }; 51 | 52 | #endif // VIMEOAUTHDIALOG_H 53 | -------------------------------------------------------------------------------- /app/src/maemo5/vimeo/vimeocommentdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIMEOCOMMENTDIALOG_H 18 | #define VIMEOCOMMENTDIALOG_H 19 | 20 | #include "dialog.h" 21 | #include "vimeocomment.h" 22 | 23 | class QTextEdit; 24 | class QDialogButtonBox; 25 | class QGridLayout; 26 | 27 | class VimeoCommentDialog : public Dialog 28 | { 29 | Q_OBJECT 30 | 31 | public: 32 | explicit VimeoCommentDialog(const QString &videoId, QWidget *parent = 0); 33 | 34 | private Q_SLOTS: 35 | void addComment(); 36 | 37 | void onCommentChanged(); 38 | void onCommentStatusChanged(QVimeo::ResourcesRequest::Status); 39 | 40 | private: 41 | VimeoComment *m_comment; 42 | QString m_id; 43 | 44 | QTextEdit *m_edit; 45 | QDialogButtonBox *m_buttonBox; 46 | QGridLayout *m_layout; 47 | }; 48 | 49 | #endif // VIMEOCOMMENTDIALOG_H 50 | -------------------------------------------------------------------------------- /app/src/maemo5/webview.cpp: -------------------------------------------------------------------------------- 1 | #include "webview.h" 2 | #include 3 | 4 | WebView::WebView(QWidget *parent) : 5 | QWebView(parent), 6 | m_suppressor(new QWebViewSelectionSuppressor(this)) 7 | { 8 | } 9 | 10 | void WebView::setNetworkAccessManager(QNetworkAccessManager *manager) { 11 | page()->setNetworkAccessManager(manager); 12 | } 13 | 14 | void WebView::enableSelectionSuppressor() const { 15 | m_suppressor->enable(); 16 | property("kineticScroller").value()->setEnabled(true); 17 | } 18 | 19 | void WebView::disableSelectionSuppressor() const { 20 | m_suppressor->disable(); 21 | property("kineticScroller").value()->setEnabled(false); 22 | } 23 | 24 | void WebView::setSelectionSuppressorEnabled(bool enable) const { 25 | if (enable) { 26 | enableSelectionSuppressor(); 27 | } 28 | else { 29 | disableSelectionSuppressor(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/maemo5/webview.h: -------------------------------------------------------------------------------- 1 | #ifndef WEBVIEW_H 2 | #define WEBVIEW_H 3 | 4 | #include "qwebviewselectionsuppressor.h" 5 | #include 6 | 7 | class WebView : public QWebView 8 | { 9 | Q_OBJECT 10 | 11 | public: 12 | explicit WebView(QWidget *parent = 0); 13 | 14 | public slots: 15 | void setNetworkAccessManager(QNetworkAccessManager *manager); 16 | void enableSelectionSuppressor() const; 17 | void disableSelectionSuppressor() const; 18 | void setSelectionSuppressorEnabled(bool enable) const; 19 | 20 | private: 21 | QWebViewSelectionSuppressor *m_suppressor; 22 | }; 23 | 24 | #endif // WEBVIEW_H 25 | -------------------------------------------------------------------------------- /app/src/maemo5/youtube/youtubeauthdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef YOUTUBEAUTHDIALOG_H 18 | #define YOUTUBEAUTHDIALOG_H 19 | 20 | #include "dialog.h" 21 | 22 | class WebView; 23 | class QVBoxLayout; 24 | 25 | class YouTubeAuthDialog : public Dialog 26 | { 27 | Q_OBJECT 28 | 29 | Q_PROPERTY(QString code READ code) 30 | 31 | public: 32 | explicit YouTubeAuthDialog(QWidget *parent = 0); 33 | 34 | QString code() const; 35 | 36 | public Q_SLOTS: 37 | void login(); 38 | 39 | private Q_SLOTS: 40 | void onWebViewTitleChanged(const QString &title); 41 | 42 | private: 43 | void setCode(const QString &code); 44 | 45 | WebView *m_view; 46 | QVBoxLayout *m_layout; 47 | 48 | QString m_code; 49 | }; 50 | 51 | #endif // YOUTUBEAUTHDIALOG_H 52 | -------------------------------------------------------------------------------- /app/src/plugins/serviceplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef SERVICEPLUGIN_H 19 | #define SERVICEPLUGIN_H 20 | 21 | #include "resourcesrequest.h" 22 | 23 | class ServicePlugin 24 | { 25 | 26 | public: 27 | virtual ~ServicePlugin() {} 28 | 29 | virtual ResourcesRequest* createRequest(QObject *parent = 0) = 0; 30 | }; 31 | 32 | Q_DECLARE_INTERFACE(ServicePlugin, "org.cutetube2.ServicePlugin") 33 | 34 | #endif // SERVICEPLUGIN_H 35 | -------------------------------------------------------------------------------- /app/src/symbian/cookiejar.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef COOKIEJAR_H 19 | #define COOKIEJAR_H 20 | 21 | #include 22 | #include 23 | 24 | class CookieJar : public QNetworkCookieJar 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit CookieJar(QObject *parent = 0); 30 | 31 | Q_INVOKABLE void setAllCookies(const QVariantList &cookies); 32 | Q_INVOKABLE bool setCookiesFromUrl(const QVariantList &cookies, const QUrl &url); 33 | }; 34 | 35 | #endif // COOKIEJAR_H 36 | -------------------------------------------------------------------------------- /app/src/symbian/maskeditem.h: -------------------------------------------------------------------------------- 1 | #ifndef MASKEDITEM_H 2 | #define MASKEDITEM_H 3 | 4 | #include "maskeffect.h" 5 | #include 6 | 7 | class MaskEffect; 8 | class QDeclarativeComponent; 9 | 10 | 11 | class MaskedItem : public QDeclarativeItem 12 | { 13 | Q_OBJECT 14 | 15 | Q_PROPERTY(QDeclarativeComponent *mask 16 | READ mask 17 | WRITE setMask 18 | NOTIFY maskChanged) 19 | 20 | public: 21 | MaskedItem(QDeclarativeItem *parent = 0); 22 | virtual ~MaskedItem(); 23 | 24 | QDeclarativeComponent *mask() const; 25 | void setMask(QDeclarativeComponent *component); 26 | 27 | signals: 28 | void maskChanged(); 29 | 30 | private: 31 | MaskEffect *m_effect; 32 | QDeclarativeComponent *m_maskComponent; 33 | }; 34 | 35 | #endif // MASKEDITEM_H 36 | -------------------------------------------------------------------------------- /app/src/symbian/maskeffect.h: -------------------------------------------------------------------------------- 1 | #ifndef MASKEFFECT_H 2 | #define MASKEFFECT_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | 12 | class MaskEffect : public QGraphicsEffect 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | MaskEffect(QObject *parent = 0); 18 | 19 | void setMask(QDeclarativeItem *mask); 20 | 21 | protected: 22 | void draw(QPainter *painter); 23 | 24 | private: 25 | QPixmap m_buffer; 26 | QScopedPointer m_item; 27 | }; 28 | 29 | #endif // MASKEFFECT_H 30 | -------------------------------------------------------------------------------- /app/src/symbian/networkaccessmanager.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #include "networkaccessmanager.h" 19 | #include "definitions.h" 20 | #include 21 | 22 | NetworkAccessManager::NetworkAccessManager(QObject *parent) : 23 | QNetworkAccessManager(parent) 24 | { 25 | } 26 | 27 | QNetworkReply* NetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &req, 28 | QIODevice *outgoingData) { 29 | QNetworkRequest request(req); 30 | request.setRawHeader("User-Agent", USER_AGENT); 31 | return QNetworkAccessManager::createRequest(op, request, outgoingData); 32 | } 33 | -------------------------------------------------------------------------------- /app/src/symbian/networkaccessmanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef NETWORKACCESSMANAGER_H 19 | #define NETWORKACCESSMANAGER_H 20 | 21 | #include 22 | 23 | class NetworkAccessManager : public QNetworkAccessManager 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit NetworkAccessManager(QObject *parent = 0); 29 | 30 | protected: 31 | virtual QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0); 32 | }; 33 | 34 | #endif // NETWORKACCESSMANAGER_H 35 | -------------------------------------------------------------------------------- /app/src/symbian/networkaccessmanagerfactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef NETWORKACCESSMANAGERFACTORY_H 19 | #define NETWORKACCESSMANAGERFACTORY_H 20 | 21 | #include 22 | 23 | class QNetworkCookieJar; 24 | 25 | class NetworkAccessManagerFactory : public QDeclarativeNetworkAccessManagerFactory 26 | { 27 | 28 | public: 29 | explicit NetworkAccessManagerFactory(); 30 | ~NetworkAccessManagerFactory(); 31 | 32 | QNetworkCookieJar *cookieJar() const; 33 | 34 | QNetworkAccessManager* create(QObject *parent); 35 | 36 | private: 37 | QNetworkCookieJar *m_cookieJar; 38 | }; 39 | 40 | #endif // NETWORKACCESSMANAGERFACTORY_H 41 | -------------------------------------------------------------------------------- /app/src/symbian/qml/DrillDownDelegate.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | MyListItem { 22 | id: root 23 | 24 | property alias text: label.text 25 | 26 | subItemIndicator: true 27 | 28 | MyListItemText { 29 | id: label 30 | 31 | anchors { 32 | fill: parent 33 | margins: platformStyle.paddingLarge 34 | } 35 | verticalAlignment: Text.AlignVCenter 36 | role: "Title" 37 | mode: root.mode 38 | text: display 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/symbian/qml/LinkLabel.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | Label { 22 | id: root 23 | 24 | property string link 25 | 26 | signal clicked 27 | 28 | color: mouseArea.pressed ? Qt.lighter(ACTIVE_COLOR) : ACTIVE_COLOR 29 | 30 | MouseArea { 31 | id: mouseArea 32 | 33 | anchors.fill: parent 34 | onClicked: { 35 | root.clicked(); 36 | 37 | if (root.link) { 38 | Qt.openUrlExternally(root.link); 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyButton.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | Button { 22 | id: root 23 | 24 | Rectangle { 25 | x: -platformStyle.paddingSmall 26 | y: -platformStyle.paddingSmall 27 | width: parent.width + platformStyle.paddingSmall * 2 28 | height: parent.height + platformStyle.paddingSmall * 2 29 | visible: (root.activeFocus) && (symbian.listInteractionMode === Symbian.KeyNavigation) 30 | color: "transparent" 31 | radius: 5 32 | border { 33 | width: 1 34 | color: platformStyle.colorDisabledMid 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyCheckBox.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | CheckBox { 22 | id: root 23 | 24 | Rectangle { 25 | x: -platformStyle.paddingSmall 26 | y: -platformStyle.paddingSmall 27 | width: parent.width + platformStyle.paddingSmall * 2 28 | height: parent.height + platformStyle.paddingSmall * 2 29 | visible: (root.activeFocus) && (symbian.listInteractionMode === Symbian.KeyNavigation) 30 | color: "transparent" 31 | radius: 5 32 | border { 33 | width: 1 34 | color: platformStyle.colorDisabledMid 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyContextMenu.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | import QtQuick 1.1 18 | import com.nokia.symbian 1.1 19 | 20 | ContextMenu { 21 | property Item focusItem: null 22 | 23 | onStatusChanged: if ((status === DialogStatus.Closed) && (focusItem)) focusItem.forceActiveFocus(); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyDialog.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | Dialog { 22 | property Item focusItem: null 23 | 24 | onClickedOutside: { 25 | privateStyle.play(Symbian.PopupClose); 26 | reject(); 27 | } 28 | onStatusChanged: if ((status === DialogStatus.Closed) && (focusItem)) focusItem.forceActiveFocus(); 29 | } 30 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyListView.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | ListView { 22 | Component.onCompleted: forceActiveFocus() 23 | cacheBuffer: 200 24 | onVisibleChanged: if (visible) forceActiveFocus(); 25 | } 26 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyMenu.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | import QtQuick 1.1 18 | import com.nokia.symbian 1.1 19 | 20 | Menu { 21 | property Item focusItem: null 22 | 23 | onStatusChanged: if ((status === DialogStatus.Closed) && (focusItem)) focusItem.forceActiveFocus(); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyPage.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | Page { 22 | id: root 23 | 24 | property string title: "" 25 | property bool showProgressIndicator: false 26 | 27 | anchors.fill: parent 28 | orientationLock: Settings.screenOrientation 29 | } 30 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyQueryDialog.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | QueryDialog { 22 | property Item focusItem: null 23 | 24 | onStatusChanged: if ((status === DialogStatus.Closed) && (focusItem)) focusItem.forceActiveFocus(); 25 | } 26 | -------------------------------------------------------------------------------- /app/src/symbian/qml/MyToolButton.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | ToolButton { 22 | id: root 23 | 24 | property string toolTipText 25 | 26 | opacity: enabled ? 1 : 0.5 27 | 28 | ToolTip { 29 | id: toolTip 30 | 31 | target: root 32 | text: toolTipText 33 | visible: false 34 | } 35 | 36 | Timer { 37 | interval: 250 38 | running: (toolTipText) && (root.pressed) 39 | onTriggered: toolTip.visible = true 40 | } 41 | 42 | onPressedChanged: if (!pressed) toolTip.visible = false; 43 | } 44 | -------------------------------------------------------------------------------- /app/src/symbian/qml/SeekBubble.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | Image { 22 | 23 | property string value 24 | 25 | source: "images/seekbubble.png" 26 | opacity: 0 27 | 28 | Behavior on opacity { PropertyAnimation { properties: "opacity"; duration: 200 } } 29 | 30 | Label { 31 | anchors { fill: parent; bottomMargin: platformStyle.paddingLarge } 32 | text: parent.value 33 | font.pixelSize: text.length > 5 ? platformStyle.fontSizeSmall : platformStyle.fontSizeSmall 34 | color: platformStyle.colorNormalMid 35 | horizontalAlignment: Text.AlignHCenter 36 | verticalAlignment: Text.AlignVCenter 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /app/src/symbian/qml/Tab.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | 21 | Item { 22 | id: root 23 | 24 | property string title: "" 25 | property bool showProgressIndicator: false 26 | property Item tools: null 27 | 28 | width: parent ? parent.width : undefined 29 | height: parent ? parent.height : undefined 30 | } 31 | -------------------------------------------------------------------------------- /app/src/symbian/qml/TabLoader.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | 20 | Loader { 21 | id: root 22 | 23 | property string title 24 | property bool showProgressIndicator: item ? item.showProgressIndicator : false 25 | property Component tab: null 26 | property Item tools: item ? item.tools : null 27 | property bool loaded: sourceComponent == tab 28 | 29 | function loadTab() { 30 | sourceComponent = tab; 31 | } 32 | 33 | function unloadTab() { 34 | sourceComponent = undefined; 35 | } 36 | 37 | width: parent ? parent.width : undefined 38 | height: parent ? parent.width : undefined 39 | } 40 | -------------------------------------------------------------------------------- /app/src/symbian/qml/ValueDialog.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | import QtQuick 1.1 19 | import com.nokia.symbian 1.1 20 | import cuteTube 2.0 21 | 22 | MySelectionDialog { 23 | id: root 24 | 25 | property variant value 26 | 27 | onAccepted: if (model) value = model.data(selectedIndex, "value"); 28 | onStatusChanged: { 29 | if ((status === DialogStatus.Opening) && (model) && (model.count > 0)) { 30 | selectedIndex = Math.max(0, model.match("value", value)); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/symbian/qml/images/avatar-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/avatar-frame.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/avatar-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/avatar-mask.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/avatar.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/close.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/comment-outgoing-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/comment-outgoing-pressed.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/comment-outgoing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/comment-outgoing.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/corner-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/corner-left.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/corner-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/corner-right.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color10.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color11.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color12.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color13.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color14.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color15.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color16.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color17.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color18.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color19.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color2.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color3.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color4.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color5.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color6.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color7.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color8.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike-color9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike-color9.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/dislike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/dislike.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/download.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/folder.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/input-clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/input-clear.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color10.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color11.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color12.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color13.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color14.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color15.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color16.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color17.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color18.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color19.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color2.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color3.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color4.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color5.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color6.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color7.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color8.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like-color9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like-color9.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/like.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/new-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/new-message.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/seekbubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/seekbubble.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/toolbar-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/toolbar-background.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/upload.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/videofile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/videofile.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/volume-mute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/volume-mute.png -------------------------------------------------------------------------------- /app/src/symbian/qml/images/volume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marxoft/cutetube2/fed931d310573f8c18219f0c29575aa5752eea74/app/src/symbian/qml/images/volume.png -------------------------------------------------------------------------------- /app/src/symbian/qml/scripts/SectionScroller.js: -------------------------------------------------------------------------------- 1 | var _sectionData = []; 2 | var _sections = []; 3 | 4 | function initSectionData(list) { 5 | if (!list || !list.model) return; 6 | _sectionData = []; 7 | _sections = []; 8 | var current = ""; 9 | var prop = list.section.property; 10 | 11 | for (var i = 0, count = list.model.count; i < count; i++) { 12 | current = list.model.data(i, prop); 13 | _sections.push(current); 14 | _sectionData.push({ index: i, header: current }); 15 | } 16 | } 17 | 18 | function closestSection(pos) { 19 | var tmp = (_sections.length) * pos; 20 | var val = Math.ceil(tmp) // TODO: better algorithm 21 | val = val < 2 ? 1 : val; 22 | return _sections[val-1]; 23 | } 24 | 25 | function indexOf(sectionName) { 26 | var val = _sectionData[_sections.indexOf(sectionName)].index; 27 | return val === 0 || val > 0 ? val : -1; 28 | } 29 | -------------------------------------------------------------------------------- /app/src/symbian/screenorientationmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef SCREENORIENTATIONMODEL_H 18 | #define SCREENORIENTATIONMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | 22 | class ScreenOrientationModel : public SelectionModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit ScreenOrientationModel(QObject *parent = 0) : 28 | SelectionModel(parent) 29 | { 30 | append(tr("Automatic"), 0); 31 | append(tr("Portrait"), 1); 32 | append(tr("Landscape"), 2); 33 | } 34 | }; 35 | 36 | #endif // SCREENORIENTATIONMODEL_H 37 | -------------------------------------------------------------------------------- /app/src/symbian/videolauncher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOLAUNCHER_H 18 | #define VIDEOLAUNCHER_H 19 | 20 | #include 21 | 22 | class QUrl; 23 | 24 | class VideoLauncher : public QObject 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit VideoLauncher(QObject *parent = 0); 30 | 31 | public Q_SLOTS: 32 | static bool playVideo(const QString &url); 33 | }; 34 | 35 | #endif // VIDEOLAUNCHER_H 36 | -------------------------------------------------------------------------------- /app/src/symbian/videoplayermodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOPLAYERMODEL_H 18 | #define VIDEOPLAYERMODEL_H 19 | 20 | #include "selectionmodel.h" 21 | 22 | class VideoPlayerModel : public SelectionModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit VideoPlayerModel(QObject *parent = 0) : 28 | SelectionModel(parent) 29 | { 30 | append("cuteTube", "cutetube"); 31 | append(tr("Media player"), "mediaplayer"); 32 | } 33 | }; 34 | 35 | #endif // VIDEOPLAYERMODEL_H 36 | -------------------------------------------------------------------------------- /app/src/vimeo/vimeonavmodel.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "vimeonavmodel.h" 18 | #include "vimeo.h" 19 | 20 | VimeoNavModel::VimeoNavModel(QObject *parent) : 21 | QStringListModel(parent) 22 | { 23 | reload(); 24 | connect(Vimeo::instance(), SIGNAL(userIdChanged(QString)), this, SLOT(reload())); 25 | } 26 | 27 | void VimeoNavModel::reload() { 28 | if (Vimeo::userId().isEmpty()) { 29 | setStringList(QStringList() << tr("Accounts") << tr("Search") << tr("Categories")); 30 | } 31 | else { 32 | setStringList(QStringList() << tr("Accounts") << tr("Search") << tr("Categories") << tr("My videos") 33 | << tr("Latest videos") << tr("Likes") << tr("Watch later") << tr("Albums") 34 | << tr("Subscriptions")); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/vimeo/vimeonavmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIMEONAVMODEL_H 18 | #define VIMEONAVMODEL_H 19 | 20 | #include 21 | 22 | class VimeoNavModel : public QStringListModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit VimeoNavModel(QObject *parent = 0); 28 | 29 | public Q_SLOTS: 30 | void reload(); 31 | }; 32 | 33 | #endif // VIMEONAVMODEL_H 34 | -------------------------------------------------------------------------------- /app/src/vimeo/vimeotransfer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIMEOTRANSFER_H 18 | #define VIMEOTRANSFER_H 19 | 20 | #include "transfer.h" 21 | 22 | namespace QVimeo { 23 | class ResourcesRequest; 24 | class StreamsRequest; 25 | } 26 | 27 | class VimeoTransfer : public Transfer 28 | { 29 | Q_OBJECT 30 | 31 | public: 32 | explicit VimeoTransfer(QObject *parent = 0); 33 | 34 | private: 35 | void listStreams(); 36 | void listSubtitles(); 37 | 38 | private Q_SLOTS: 39 | void onStreamsRequestFinished(); 40 | void onSubtitlesRequestFinished(); 41 | 42 | private: 43 | QVimeo::StreamsRequest* streamsRequest(); 44 | QVimeo::ResourcesRequest* subtitlesRequest(); 45 | 46 | QVimeo::StreamsRequest *m_streamsRequest; 47 | QVimeo::ResourcesRequest *m_subtitlesRequest; 48 | }; 49 | 50 | #endif // VIMEOTRANSFER_H 51 | -------------------------------------------------------------------------------- /app/src/youtube/youtubenavmodel.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #include "youtubenavmodel.h" 18 | #include "youtube.h" 19 | 20 | YouTubeNavModel::YouTubeNavModel(QObject *parent) : 21 | QStringListModel(parent) 22 | { 23 | reload(); 24 | connect(YouTube::instance(), SIGNAL(userIdChanged(QString)), this, SLOT(reload())); 25 | } 26 | 27 | void YouTubeNavModel::reload() { 28 | if (YouTube::userId().isEmpty()) { 29 | setStringList(QStringList() << tr("Accounts") << tr("Search") << tr("Categories")); 30 | } 31 | else { 32 | setStringList(QStringList() << tr("Accounts") << tr("Search") << tr("Categories") << tr("My videos") 33 | << tr("Favourites") << tr("Likes") << tr("Playlists") << tr("Subscriptions")); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/youtube/youtubenavmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef YOUTUBENAVMODEL_H 18 | #define YOUTUBENAVMODEL_H 19 | 20 | #include 21 | 22 | class YouTubeNavModel : public QStringListModel 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | explicit YouTubeNavModel(QObject *parent = 0); 28 | 29 | public Q_SLOTS: 30 | void reload(); 31 | }; 32 | 33 | #endif // YOUTUBENAVMODEL_H 34 | -------------------------------------------------------------------------------- /cutetube2.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += \ 3 | app 4 | -------------------------------------------------------------------------------- /plugins/plugins.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += \ 3 | pornhub \ 4 | porntrex \ 5 | tv \ 6 | vbox7 \ 7 | veoh \ 8 | videoclip \ 9 | wenoo \ 10 | xhamster 11 | -------------------------------------------------------------------------------- /plugins/pornhub/cutetube2-pornhub.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/pornhub/cutetube2-pornhub.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/pornhub/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-pornhub (0.0.2) unstable; urgency=low 2 | * New cutetub2 plugin API. 3 | 4 | -- Stuart Howarth Sat, 16 Jul 2016 20:32:17 +0000 5 | 6 | cutetube2-pornhub (0.0.1) unstable; urgency=low 7 | * Initial release. 8 | 9 | -- Stuart Howarth Tue, 08 Dec 2015 21:43:46 +0000 10 | 11 | -------------------------------------------------------------------------------- /plugins/pornhub/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/pornhub/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-pornhub (0.0.2) unstable; urgency=low 2 | * New cutetub2 plugin API. 3 | 4 | -- Stuart Howarth Sat, 16 Jul 2016 20:32:17 +0000 5 | 6 | cutetube2-pornhub (0.0.1) unstable; urgency=low 7 | * Initial release. 8 | 9 | -- Stuart Howarth Tue, 08 Dec 2015 21:43:46 +0000 10 | 11 | -------------------------------------------------------------------------------- /plugins/pornhub/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/pornhub/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/pornhub-video-url=cutetube2.desktop" 6 | USER_HIGHLIGHT="x-maemo-highlight/pornhub-user-url=cutetube2.desktop" 7 | DEFAULTS="/usr/share/applications/defaults.list" 8 | 9 | echo "Adding highlight handlers to defaults.list" 10 | 11 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 12 | 13 | if ! grep $USER_HIGHLIGHT $DEFAULTS; then echo $USER_HIGHLIGHT >> $DEFAULTS; fi 14 | 15 | # dh_installdeb will replace this with shell code automatically 16 | # generated by other debhelper scripts. 17 | 18 | #DEBHELPER# 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /plugins/pornhub/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/pornhub-video-url=cutetube2.desktop\x-maemo-highlight\/pornhub-user-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/pornhub/pornhubplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef PORNHUBPLUGIN_H 18 | #define PORNHUBPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "pornhubrequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class PornhubPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.PornhubPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new PornhubRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-pornhub, PornhubPlugin) 40 | #endif 41 | 42 | #endif // PORNHUBPLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/porntrex/cutetube2-porntrex.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/porntrex/cutetube2-porntrex.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugins/porntrex/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-porntrex (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Sat, 16 Jul 2016 20:36:43 +0000 5 | -------------------------------------------------------------------------------- /plugins/porntrex/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/porntrex/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-porntrex (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Fri, 22 Jul 2016 15:25:46 +0000 5 | 6 | -------------------------------------------------------------------------------- /plugins/porntrex/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/porntrex/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/porntrex-video-url=cutetube2.desktop" 6 | DEFAULTS="/usr/share/applications/defaults.list" 7 | 8 | echo "Adding highlight handlers to defaults.list" 9 | 10 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 11 | 12 | # dh_installdeb will replace this with shell code automatically 13 | # generated by other debhelper scripts. 14 | 15 | #DEBHELPER# 16 | 17 | exit 0 18 | -------------------------------------------------------------------------------- /plugins/porntrex/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/porntrex-video-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/porntrex/porntrexplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef PORNTREXPLUGIN_H 18 | #define PORNTREXPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "porntrexrequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class PornTrexPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.PornTrexPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new PornTrexRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-porntrex, PornTrexPlugin) 40 | #endif 41 | 42 | #endif // PORNTREXPLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/src/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-dev (0.0.1) unstable; urgency=low 2 | 3 | * Initial release. 4 | 5 | -- Stuart Howarth Sat, 16 Jul 2016 20:37:04 +0000 6 | -------------------------------------------------------------------------------- /plugins/src/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/src/serviceplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 3, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT ANY 9 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 | * FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software Foundation, 15 | * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | */ 17 | 18 | #ifndef SERVICEPLUGIN_H 19 | #define SERVICEPLUGIN_H 20 | 21 | #include "resourcesrequest.h" 22 | 23 | class ServicePlugin 24 | { 25 | 26 | public: 27 | virtual ~ServicePlugin() {} 28 | 29 | virtual ResourcesRequest* createRequest(QObject *parent = 0) = 0; 30 | }; 31 | 32 | Q_DECLARE_INTERFACE(ServicePlugin, "org.cutetube2.ServicePlugin") 33 | 34 | #endif // SERVICEPLUGIN_H 35 | -------------------------------------------------------------------------------- /plugins/tv/cutetube2-tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "qt", 3 | "version": 2, 4 | "name": "TV", 5 | "resources": [ 6 | { 7 | "type": "category", 8 | "method": "list", 9 | "label": "Channels by genre" 10 | "id": "http://marxoft.co.uk/api/cutetv/genres" 11 | }, 12 | 13 | { 14 | "type": "video", 15 | "method": "list", 16 | "label": "All channels (ascending)" 17 | "id": "http://marxoft.co.uk/api/cutetv/channels?sort=title" 18 | }, 19 | 20 | { 21 | "type": "video", 22 | "method": "list", 23 | "label": "All channels (descending)" 24 | "id": "http://marxoft.co.uk/api/cutetv/channels?sort=title&sortDescending=true" 25 | }, 26 | 27 | { 28 | "type": "video", 29 | "method": "search", 30 | "label": "Channels (ascending)" 31 | "order": "title" 32 | }, 33 | 34 | { 35 | "type": "video", 36 | "method": "search", 37 | "label": "Channels (descending)" 38 | "order": "title&sortDescending=true" 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /plugins/tv/cutetube2-tv.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/tv/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-tv (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Sun, 31 Jul 2016 20:36:43 +0000 5 | -------------------------------------------------------------------------------- /plugins/tv/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/tv/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-tv (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Sun, 31 Jul 2016 20:36:46 +0000 5 | 6 | -------------------------------------------------------------------------------- /plugins/tv/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/tv/tvplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef TVPLUGIN_H 18 | #define TVPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "tvrequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class TVPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.TVPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new TVRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-tv, TVPlugin) 40 | #endif 41 | 42 | #endif // TVPLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/vbox7/cutetube2-vbox7.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/vbox7/cutetube2-vbox7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/vbox7/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-vbox7 (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Mon, 25 Jul 2016 13:39:24 +0000 5 | -------------------------------------------------------------------------------- /plugins/vbox7/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/vbox7/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-vbox7 (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Mon, 25 Jul 2016 13:45:24 +0000 5 | -------------------------------------------------------------------------------- /plugins/vbox7/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/vbox7/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/vbox7-video-url=cutetube2.desktop" 6 | USER_HIGHLIGHT="x-maemo-highlight/vbox7-user-url=cutetube2.desktop" 7 | DEFAULTS="/usr/share/applications/defaults.list" 8 | 9 | echo "Adding highlight handlers to defaults.list" 10 | 11 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 12 | 13 | if ! grep $USER_HIGHLIGHT $DEFAULTS; then echo $USER_HIGHLIGHT >> $DEFAULTS; fi 14 | 15 | # dh_installdeb will replace this with shell code automatically 16 | # generated by other debhelper scripts. 17 | 18 | #DEBHELPER# 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /plugins/vbox7/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/vbox7-video-url=cutetube2.desktop\x-maemo-highlight\/vbox7-user-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/vbox7/vbox7plugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VBOX7PLUGIN_H 18 | #define VBOX7PLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "vbox7request.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class Vbox7Plugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.Vbox7Plugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new Vbox7Request(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-vbox7, Vbox7Plugin) 40 | #endif 41 | 42 | #endif // VBOX7PLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/veoh/cutetube2-veoh.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "qt", 3 | "name": "Veoh", 4 | "version": 2, 5 | "resources": [ 6 | { 7 | "type": "video", 8 | "method": "get", 9 | "regExp": "http://(www\\.|)veoh\\.com/watch/v\\w+" 10 | }, 11 | 12 | { 13 | "type": "video", 14 | "method": "search", 15 | "label": "Videos (relevance)", 16 | "order": "relevance" 17 | }, 18 | 19 | { 20 | "type": "video", 21 | "method": "search", 22 | "label": "Videos (date)", 23 | "order": "most+recent" 24 | }, 25 | 26 | { 27 | "type": "video", 28 | "method": "search", 29 | "label": "Videos (popularity)", 30 | "order": "most+viewed" 31 | }, 32 | 33 | { 34 | "type": "video", 35 | "method": "search", 36 | "label": "Videos (duration)", 37 | "order": "run+length" 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /plugins/veoh/cutetube2-veoh.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/veoh/cutetube2-veoh.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugins/veoh/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-veoh (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Wed, 27 Jul 2016 19:39:24 +0000 5 | -------------------------------------------------------------------------------- /plugins/veoh/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/veoh/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-veoh (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Wed, 27 Jul 2016 19:45:24 +0000 5 | -------------------------------------------------------------------------------- /plugins/veoh/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/veoh/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/veoh-video-url=cutetube2.desktop" 6 | DEFAULTS="/usr/share/applications/defaults.list" 7 | 8 | echo "Adding highlight handlers to defaults.list" 9 | 10 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 11 | 12 | # dh_installdeb will replace this with shell code automatically 13 | # generated by other debhelper scripts. 14 | 15 | #DEBHELPER# 16 | 17 | exit 0 18 | -------------------------------------------------------------------------------- /plugins/veoh/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/veoh-video-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/veoh/veohplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VEOHPLUGIN_H 18 | #define VEOHPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "veohrequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class VeohPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.VeohPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new VeohRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-veoh, VeohPlugin) 40 | #endif 41 | 42 | #endif // VEOHPLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/videoclip/cutetube2-videoclip.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/videoclip/cutetube2-videoclip.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/videoclip/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-videoclip (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Sat, 06 Aug 2016 03:38:43 +0000 5 | -------------------------------------------------------------------------------- /plugins/videoclip/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/videoclip/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-videoclip (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Sat, 06 Aug 2016 03:30:46 +0000 5 | 6 | -------------------------------------------------------------------------------- /plugins/videoclip/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/videoclip/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/videoclip-video-url=cutetube2.desktop" 6 | USER_HIGHLIGHT="x-maemo-highlight/videoclip-user-url=cutetube2.desktop" 7 | DEFAULTS="/usr/share/applications/defaults.list" 8 | 9 | echo "Adding highlight handlers to defaults.list" 10 | 11 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 12 | 13 | if ! grep $USER_HIGHLIGHT $DEFAULTS; then echo $USER_HIGHLIGHT >> $DEFAULTS; fi 14 | 15 | # dh_installdeb will replace this with shell code automatically 16 | # generated by other debhelper scripts. 17 | 18 | #DEBHELPER# 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /plugins/videoclip/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/videoclip-video-url=cutetube2.desktop\x-maemo-highlight\/videoclip-user-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/videoclip/videoclipplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef VIDEOCLIPPLUGIN_H 18 | #define VIDEOCLIPPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "videocliprequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class VideoclipPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.VideoclipPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new VideoclipRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-videoclip, VideoclipPlugin) 40 | #endif 41 | 42 | #endif // VIDEOCLIPPLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/wenoo/cutetube2-wenoo.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/wenoo/cutetube2-wenoo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/wenoo/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-wenoo (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Sat, 16 Jul 2016 20:38:43 +0000 5 | -------------------------------------------------------------------------------- /plugins/wenoo/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/wenoo/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-wenoo (0.0.1) unstable; urgency=low 2 | * Initial release. 3 | 4 | -- Stuart Howarth Fri, 22 Jul 2016 15:30:46 +0000 5 | 6 | -------------------------------------------------------------------------------- /plugins/wenoo/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/wenoo/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/wenoo-video-url=cutetube2.desktop" 6 | USER_HIGHLIGHT="x-maemo-highlight/wenoo-user-url=cutetube2.desktop" 7 | DEFAULTS="/usr/share/applications/defaults.list" 8 | 9 | echo "Adding highlight handlers to defaults.list" 10 | 11 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 12 | 13 | if ! grep $USER_HIGHLIGHT $DEFAULTS; then echo $USER_HIGHLIGHT >> $DEFAULTS; fi 14 | 15 | # dh_installdeb will replace this with shell code automatically 16 | # generated by other debhelper scripts. 17 | 18 | #DEBHELPER# 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /plugins/wenoo/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/wenoo-video-url=cutetube2.desktop\x-maemo-highlight\/wenoo-user-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/wenoo/wenooplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef WENOOPLUGIN_H 18 | #define WENOOPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "wenoorequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class WenooPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.WenooPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new WenooRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-wenoo, WenooPlugin) 40 | #endif 41 | 42 | #endif // WENOOPLUGIN_H 43 | -------------------------------------------------------------------------------- /plugins/xhamster/cutetube2-xhamster.qtplugin: -------------------------------------------------------------------------------- 1 | Plugin stub file 2 | -------------------------------------------------------------------------------- /plugins/xhamster/cutetube2-xhamster.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugins/xhamster/debian/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-xhamster (0.0.4) unstable; urgency=low 2 | * New cutetube2 plugin API. 3 | 4 | -- Stuart Howarth Sat, 16 Jul 2016 20:39:24 +0000 5 | 6 | cutetube2-xhamster (0.0.3) unstable; urgency=low 7 | * Retrieve redirect for video streams. 8 | 9 | -- Stuart Howarth Mon, 07 Dec 2015 16:26:46 +0000 10 | 11 | cutetube2-xhamster (0.0.2) unstable; urgency=low 12 | * Fix retrieval of categories and video streams. 13 | 14 | -- Stuart Howarth Sat, 05 Dec 2015 22:37:25 +0000 15 | 16 | cutetube2-xhamster (0.0.1) unstable; urgency=low 17 | * Initial release. 18 | 19 | -- Stuart Howarth Fri, 12 Jun 2015 14:20:43 +0000 20 | -------------------------------------------------------------------------------- /plugins/xhamster/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /plugins/xhamster/debian_harmattan/changelog: -------------------------------------------------------------------------------- 1 | cutetube2-xhamster (0.0.4) unstable; urgency=low 2 | * New cutetube2 plugin API. 3 | 4 | -- Stuart Howarth Fri, 22 Jul 2016 15:45:24 +0000 5 | 6 | cutetube2-xhamster (0.0.3) unstable; urgency=low 7 | * Retrieve redirect for video streams. 8 | 9 | -- Stuart Howarth Mon, 07 Dec 2015 16:26:46 +0000 10 | 11 | cutetube2-xhamster (0.0.2) unstable; urgency=low 12 | * Fix retrieval of categories and video streams. 13 | 14 | -- Stuart Howarth Sat, 05 Dec 2015 22:37:25 +0000 15 | 16 | cutetube2-xhamster (0.0.1) unstable; urgency=low 17 | * Initial release. 18 | 19 | -- Stuart Howarth Fri, 12 Jun 2015 14:20:43 +0000 20 | cutetube2-xhamster (0.0.4) unstable; urgency=low 21 | * New cutetube2 plugin API. 22 | 23 | -- Stuart Howarth Sat, 16 Jul 2016 20:39:24 +0000 24 | 25 | cutetube2-porntrex (0.0.1) unstable; urgency=low 26 | * Initial release. 27 | 28 | -- Stuart Howarth Fri, 22 Jul 2016 15:25:46 +0000 29 | 30 | -------------------------------------------------------------------------------- /plugins/xhamster/debian_harmattan/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /plugins/xhamster/debian_harmattan/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | VIDEO_HIGHLIGHT="x-maemo-highlight/xhamster-video-url=cutetube2.desktop" 6 | DEFAULTS="/usr/share/applications/defaults.list" 7 | 8 | echo "Adding highlight handlers to defaults.list" 9 | 10 | if ! grep $VIDEO_HIGHLIGHT $DEFAULTS; then echo $VIDEO_HIGHLIGHT >> $DEFAULTS; fi 11 | 12 | # dh_installdeb will replace this with shell code automatically 13 | # generated by other debhelper scripts. 14 | 15 | #DEBHELPER# 16 | 17 | exit 0 18 | -------------------------------------------------------------------------------- /plugins/xhamster/debian_harmattan/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | echo "Removing highlight handlers from defaults.list" 6 | sed -i -e '/x-maemo-highlight\/xhamster-video-url=cutetube2.desktop\x-maemo-highlight/d' /usr/share/applications/defaults.list 7 | 8 | #DEBHELPER# 9 | 10 | # Make sure the uninstallation is always considered successful 11 | exit 0 12 | -------------------------------------------------------------------------------- /plugins/xhamster/xhamsterplugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Stuart Howarth 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 3 as 6 | * published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program. If not, see . 15 | */ 16 | 17 | #ifndef XHAMSTERPLUGIN_H 18 | #define XHAMSTERPLUGIN_H 19 | 20 | #include "serviceplugin.h" 21 | #include "xhamsterrequest.h" 22 | #if QT_VERSION < 0x050000 23 | #include 24 | #endif 25 | 26 | class XHamsterPlugin : public QObject, public ServicePlugin 27 | { 28 | Q_OBJECT 29 | Q_INTERFACES(ServicePlugin) 30 | #if QT_VERSION >= 0x050000 31 | Q_PLUGIN_METADATA(IID "org.cutetube2.XHamsterPlugin") 32 | #endif 33 | 34 | public: 35 | virtual ResourcesRequest* createRequest(QObject *parent = 0) { return new XHamsterRequest(parent); } 36 | }; 37 | 38 | #if QT_VERSION < 0x050000 39 | Q_EXPORT_PLUGIN2(cutetube2-xhamster, XHamsterPlugin) 40 | #endif 41 | 42 | #endif // XHAMSTERPLUGIN_H 43 | --------------------------------------------------------------------------------