Skip to content

Commit

Permalink
initial slim implementation of media player for qt6, will fix for qt5…
Browse files Browse the repository at this point in the history
… and polish and integrate better later
  • Loading branch information
martinrotter committed Nov 21, 2023
1 parent 53e6714 commit 56c9e97
Show file tree
Hide file tree
Showing 31 changed files with 545 additions and 68 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ set(QT_COMPONENTS
)

if(NOT OS2)
list(APPEND QT_COMPONENTS Multimedia)
list(APPEND QT_COMPONENTS Multimedia MultimediaWidgets)
endif()

if(WIN32 AND NOT BUILD_WITH_QT6)
Expand Down
111 changes: 87 additions & 24 deletions localization/rssguard_en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ version by clicking this popup notification.</source>
<context>
<name>BaseToastNotification</name>
<message>
<location filename="../src/librssguard/gui/notifications/basetoastnotification.cpp" line="41"/>
<location filename="../src/librssguard/gui/notifications/basetoastnotification.cpp" line="40"/>
<source>Close this notification</source>
<translation type="unfinished"></translation>
</message>
Expand Down Expand Up @@ -468,12 +468,12 @@ version by clicking this popup notification.</source>
<context>
<name>DiscoveredFeedsModel</name>
<message>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="297"/>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="294"/>
<source>Title</source>
<translation type="unfinished">Title</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="297"/>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="294"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
Expand Down Expand Up @@ -1838,7 +1838,7 @@ QtWebEngine cache folder -&gt; &quot;%7&quot;</source>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.ui" line="51"/>
<source>Discover Sitemaps too (can take some time for bigger websites)</source>
<source>Recursive discovery (can take some time for bigger websites)</source>
<translation type="unfinished"></translation>
</message>
<message>
Expand Down Expand Up @@ -1897,12 +1897,12 @@ QtWebEngine cache folder -&gt; &quot;%7&quot;</source>
<translation type="unfinished">Error: %1</translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="195"/>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="192"/>
<source>URL is valid.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="198"/>
<location filename="../src/librssguard/services/standard/gui/formdiscoverfeeds.cpp" line="195"/>
<source>URL is NOT valid.</source>
<translation type="unfinished"></translation>
</message>
Expand Down Expand Up @@ -4496,6 +4496,59 @@ Login tokens expiration: %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MediaPlayer</name>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="134"/>
<source>No media</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="137"/>
<source>Loading...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="140"/>
<source>Media loaded</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="143"/>
<source>Media stalled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="146"/>
<source>Buffering...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="149"/>
<source>Loaded</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="152"/>
<source>Ended</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="155"/>
<source>Media is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/reusable/mediaplayer.cpp" line="158"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessageBrowser</name>
<message>
Expand Down Expand Up @@ -5719,50 +5772,50 @@ List of supported readers:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/atomparser.cpp" line="240"/>
<location filename="../src/librssguard/services/standard/parsers/rdfparser.cpp" line="190"/>
<location filename="../src/librssguard/services/standard/parsers/rssparser.cpp" line="190"/>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="176"/>
<location filename="../src/librssguard/services/standard/parsers/atomparser.cpp" line="242"/>
<location filename="../src/librssguard/services/standard/parsers/rdfparser.cpp" line="192"/>
<location filename="../src/librssguard/services/standard/parsers/rssparser.cpp" line="192"/>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="180"/>
<source>XML is not well-formed, %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/atomparser.cpp" line="246"/>
<location filename="../src/librssguard/services/standard/parsers/atomparser.cpp" line="248"/>
<source>not an ATOM feed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/jsonparser.cpp" line="117"/>
<location filename="../src/librssguard/services/standard/parsers/jsonparser.cpp" line="119"/>
<source>JSON error &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/jsonparser.cpp" line="148"/>
<location filename="../src/librssguard/services/standard/parsers/jsonparser.cpp" line="150"/>
<source>not a JSON feed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/rdfparser.cpp" line="196"/>
<location filename="../src/librssguard/services/standard/parsers/rdfparser.cpp" line="198"/>
<source>not an RDF feed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/rssparser.cpp" line="196"/>
<location filename="../src/librssguard/services/standard/parsers/rssparser.cpp" line="198"/>
<source>not a RSS feed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="141"/>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="145"/>
<source>support for gzipped sitemaps is not enabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="189"/>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="193"/>
<source>sitemap indices are not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="193"/>
<location filename="../src/librssguard/services/standard/parsers/sitemapparser.cpp" line="197"/>
<source>not a Sitemap</source>
<translation type="unfinished"></translation>
</message>
Expand Down Expand Up @@ -7895,22 +7948,27 @@ Unread news: %2</translation>
<translation>Feeds</translation>
</message>
<message>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="38"/>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="39"/>
<source>Displays main menu.</source>
<translation>Displays main menu.</translation>
</message>
<message>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="47"/>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="48"/>
<source>Main menu</source>
<translation>Main menu</translation>
</message>
<message>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="78"/>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="79"/>
<source>Downloads</source>
<translation>Downloads</translation>
</message>
<message>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="237"/>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="232"/>
<source>Media player</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/tabwidget.cpp" line="257"/>
<source>Web browser</source>
<translation>Web browser</translation>
</message>
Expand Down Expand Up @@ -8439,12 +8497,17 @@ Last login on: %4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/webviewers/webengine/webengineviewer.cpp" line="109"/>
<location filename="../src/librssguard/gui/webviewers/webengine/webengineviewer.cpp" line="104"/>
<source>Open link as audio/video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/webviewers/webengine/webengineviewer.cpp" line="113"/>
<source>Open with external tool</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/librssguard/gui/webviewers/webengine/webengineviewer.cpp" line="128"/>
<location filename="../src/librssguard/gui/webviewers/webengine/webengineviewer.cpp" line="132"/>
<source>No external tools activated</source>
<translation type="unfinished"></translation>
</message>
Expand Down
16 changes: 16 additions & 0 deletions resources/icons.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<file>./graphics/Breeze/actions/32/arrow-right.svg</file>
<file>./graphics/Breeze/actions/32/arrow-up.svg</file>
<file>./graphics/Breeze/actions/32/arrow-up-double.svg</file>
<file>./graphics/Breeze/status/22/audio-volume-muted.svg</file>
<file>./graphics/Breeze/actions/32/call-start.svg</file>
<file>./graphics/Breeze/actions/32/dialog-cancel.svg</file>
<file>./graphics/Breeze/actions/22/dialog-close.svg</file>
Expand Down Expand Up @@ -77,7 +78,11 @@
<file>./graphics/Breeze/actions/32/mail-reply-sender.svg</file>
<file>./graphics/Breeze/actions/32/mail-send.svg</file>
<file>./graphics/Breeze/actions/32/mail-sent.svg</file>
<file>./graphics/Breeze/actions/32/media-playback-pause.svg</file>
<file>./graphics/Breeze/actions/32/media-playback-start.svg</file>
<file>./graphics/Breeze/actions/32/media-playback-stop.svg</file>
<file>./graphics/Breeze/actions/22/player-volume.svg</file>
<file>./graphics/Breeze/actions/22/player-volume-muted.svg</file>
<file>./graphics/Breeze/actions/22/process-stop.svg</file>
<file>./graphics/Breeze/actions/22/system-search.svg</file>
<file>./graphics/Breeze/actions/22/system-upgrade.svg</file>
Expand Down Expand Up @@ -106,6 +111,7 @@
<file>./graphics/Breeze Dark/actions/32/arrow-right.svg</file>
<file>./graphics/Breeze Dark/actions/32/arrow-up.svg</file>
<file>./graphics/Breeze Dark/actions/32/arrow-up-double.svg</file>
<file>./graphics/Breeze Dark/status/22/audio-volume-muted.svg</file>
<file>./graphics/Breeze Dark/actions/32/call-start.svg</file>
<file>./graphics/Breeze Dark/actions/32/dialog-cancel.svg</file>
<file>./graphics/Breeze Dark/actions/22/dialog-close.svg</file>
Expand Down Expand Up @@ -171,7 +177,11 @@
<file>./graphics/Breeze Dark/actions/32/mail-reply-sender.svg</file>
<file>./graphics/Breeze Dark/actions/32/mail-send.svg</file>
<file>./graphics/Breeze Dark/actions/32/mail-sent.svg</file>
<file>./graphics/Breeze Dark/actions/32/media-playback-pause.svg</file>
<file>./graphics/Breeze Dark/actions/32/media-playback-start.svg</file>
<file>./graphics/Breeze Dark/actions/32/media-playback-stop.svg</file>
<file>./graphics/Breeze Dark/actions/22/player-volume.svg</file>
<file>./graphics/Breeze Dark/actions/22/player-volume-muted.svg</file>
<file>./graphics/Breeze Dark/actions/22/process-stop.svg</file>
<file>./graphics/Breeze Dark/actions/22/system-search.svg</file>
<file>./graphics/Breeze Dark/actions/22/system-upgrade.svg</file>
Expand All @@ -194,6 +204,7 @@
<file>./graphics/Faenza/categories/64/applications-office.png</file>
<file>./graphics/Faenza/categories/64/applications-science.png</file>
<file>./graphics/Faenza/categories/64/applications-system.png</file>
<file>./graphics/Faenza/status/64/audio-volume-muted.png</file>
<file>./graphics/Faenza/actions/64/browser-download.png</file>
<file>./graphics/Faenza/actions/64/call-start.png</file>
<file>./graphics/Faenza/status/64/dialog-error.png</file>
Expand Down Expand Up @@ -256,7 +267,9 @@
<file>./graphics/Faenza/actions/64/mail-reply-sender.png</file>
<file>./graphics/Faenza/actions/64/mail-send.png</file>
<file>./graphics/Faenza/actions/64/mail-sent.png</file>
<file>./graphics/Faenza/actions/64/media-playback-pause.png</file>
<file>./graphics/Faenza/actions/64/media-playback-start.png</file>
<file>./graphics/Faenza/actions/64/media-playback-stop.png</file>
<file>./graphics/Faenza/actions/64/process-stop.png</file>
<file>./graphics/Faenza/actions/64/reload.png</file>
<file>./graphics/Faenza/actions/64/system-search.png</file>
Expand Down Expand Up @@ -284,6 +297,7 @@
<file>./graphics/Numix/22/actions/arrow-right.svg</file>
<file>./graphics/Numix/22/actions/arrow-up.svg</file>
<file>./graphics/Numix/22/actions/arrow-up-double.svg</file>
<file>./graphics/Numix/22/status/audio-volume-muted.svg</file>
<file>./graphics/Numix/22/actions/browser-download.svg</file>
<file>./graphics/Numix/22/actions/call-start.svg</file>
<file>./graphics/Numix/22/actions/dialog-cancel.svg</file>
Expand Down Expand Up @@ -349,7 +363,9 @@
<file>./graphics/Numix/22/actions/mail-reply-sender.svg</file>
<file>./graphics/Numix/22/actions/mail-send.svg</file>
<file>./graphics/Numix/22/places/mail-sent.svg</file>
<file>./graphics/Numix/22/actions/media-playback-pause.svg</file>
<file>./graphics/Numix/22/actions/media-playback-start.svg</file>
<file>./graphics/Numix/22/actions/media-playback-stop.svg</file>
<file>./graphics/Numix/22/actions/process-stop.svg</file>
<file>./graphics/Numix/22/actions/reload.svg</file>
<file>./graphics/Numix/22/actions/system-search.svg</file>
Expand Down
4 changes: 4 additions & 0 deletions src/librssguard/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,8 @@ set(SOURCES
gui/reusable/locationlineedit.h
gui/reusable/messagecountspinbox.cpp
gui/reusable/messagecountspinbox.h
gui/reusable/mediaplayer.cpp
gui/reusable/mediaplayer.h
gui/reusable/networkproxydetails.cpp
gui/reusable/networkproxydetails.h
gui/reusable/nonclosablemenu.cpp
Expand Down Expand Up @@ -464,6 +466,7 @@ set(UI_FILES
gui/notifications/notificationseditor.ui
gui/notifications/singlenotificationeditor.ui
gui/notifications/toastnotification.ui
gui/reusable/mediaplayer.ui
gui/reusable/networkproxydetails.ui
gui/reusable/searchtextwidget.ui
gui/richtexteditor/mrichtextedit.ui
Expand Down Expand Up @@ -769,6 +772,7 @@ endif()
if(NOT OS2)
target_link_libraries(rssguard PUBLIC
Qt${QT_VERSION_MAJOR}::Multimedia
Qt${QT_VERSION_MAJOR}::MultimediaWidgets
)
endif()

Expand Down
2 changes: 1 addition & 1 deletion src/librssguard/gui/dialogs/formmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,7 @@ void FormMain::loadSize() {
setWindowState(windowState() | Qt::WindowState::WindowMaximized);

// We process events so that window is really maximized fast.
qApp->processEvents();
QCoreApplication::processEvents();
}

m_ui->m_actionMessagePreviewEnabled
Expand Down
2 changes: 1 addition & 1 deletion src/librssguard/gui/feedmessageviewer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ void FeedMessageViewer::loadMessageToFeedAndArticleList(Feed* feed, const Messag
// TODO: expand properly
m_feedsView->setExpanded(idx_map, true);
m_feedsView->setCurrentIndex(idx_map);
qApp->processEvents();
QCoreApplication::processEvents();

auto idx_map_msg = m_messagesView->model()->indexFromMessage(message);
auto msg_is_visible = !m_messagesView->isRowHidden(idx_map_msg.row(), idx_map_msg);
Expand Down
4 changes: 2 additions & 2 deletions src/librssguard/gui/notifications/basetoastnotification.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ using namespace std::chrono_literals;

BaseToastNotification::BaseToastNotification(QWidget* parent) : QDialog(parent), m_timerId(-1) {
setAttribute(Qt::WidgetAttribute::WA_ShowWithoutActivating);
// setFixedWidth(qApp->settings()->value(GROUP(GUI), SETTING(GUI::ToastNotificationsWidth)).toInt());
setFocusPolicy(Qt::FocusPolicy::NoFocus);
setAttribute(Qt::WidgetAttribute::WA_DeleteOnClose, false);

Expand Down Expand Up @@ -82,7 +81,8 @@ bool BaseToastNotification::eventFilter(QObject* watched, QEvent* event) {
if (event->type() == QEvent::Type::MouseButtonPress || event->type() == QEvent::Type::MouseButtonRelease) {
if (dynamic_cast<QMouseEvent*>(event)->button() == Qt::MouseButton::RightButton) {
event->accept();
QTimer::singleShot(100, this, &BaseToastNotification::close);
QCoreApplication::processEvents();
QTimer::singleShot(200, this, &BaseToastNotification::close);
return true;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ void ToastNotificationsManager::processNotification(BaseToastNotification* notif

// Make sure notification is finally resized.
notif->adjustSize();
qApp->processEvents();
QCoreApplication::processEvents();

// Move notification, at this point we already need to know its precise size.
moveNotificationToCorner(notif, notif_new_pos);
Expand Down
Loading

0 comments on commit 56c9e97

Please sign in to comment.