vlc | branch: master | Pierre Lamot <[email protected]> | Wed Oct 14 17:44:36 2020 +0200| [292156a34ed7c2dd4d44420f6137f2479c910eae] | committer: Pierre Lamot
qml: add recent global shortcuts > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=292156a34ed7c2dd4d44420f6137f2479c910eae --- modules/gui/qt/Makefile.am | 1 + modules/gui/qt/menus/qml/GlobalShortcuts.qml | 6 ++- .../gui/qt/menus/qml/GlobalShortcutsMedialib.qml | 50 ++++++++++++++++++++++ modules/gui/qt/vlc.qrc | 1 + 4 files changed, 56 insertions(+), 2 deletions(-) diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am index f65b3ca6c5..f61025ff01 100644 --- a/modules/gui/qt/Makefile.am +++ b/modules/gui/qt/Makefile.am @@ -635,6 +635,7 @@ libqt_plugin_la_QML = \ gui/qt/medialibrary/qml/VideoInfoExpandPanel.qml \ gui/qt/medialibrary/qml/VideoListDisplay.qml \ gui/qt/menus/qml/GlobalShortcuts.qml \ + gui/qt/menus/qml/GlobalShortcutsMedialib.qml \ gui/qt/menus/qml/Menubar.qml \ gui/qt/network/qml/DiscoverDisplay.qml \ gui/qt/network/qml/DiscoverUrlDisplay.qml \ diff --git a/modules/gui/qt/menus/qml/GlobalShortcuts.qml b/modules/gui/qt/menus/qml/GlobalShortcuts.qml index fc1f9f5519..97358c52d3 100644 --- a/modules/gui/qt/menus/qml/GlobalShortcuts.qml +++ b/modules/gui/qt/menus/qml/GlobalShortcuts.qml @@ -35,7 +35,6 @@ Item { Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+J"; onActivated: dialogProvider.mediaCodecDialog(); } Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+M"; onActivated: dialogProvider.messagesDialog(); } Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+P"; onActivated: dialogProvider.prefsDialog(); } - Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+B"; onActivated: dialogProvider.bookmarksDialog(); enabled: !!medialib} Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+T"; onActivated: dialogProvider.gotoTimeDialog(); } Shortcut{ context: Qt.ApplicationShortcut; sequence:"F1"; onActivated: dialogProvider.helpDialog(); } @@ -44,5 +43,8 @@ Item { Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+L"; onActivated: mainInterface.playlistVisible = !mainInterface.playlistVisible; } Shortcut{ context: Qt.ApplicationShortcut; sequence:"F11"; onActivated: mainInterface.toggleInterfaceFullScreen(); } - + Loader { + active: !!medialib + source: "qrc:///menus/GlobalShortcutsMedialib.qml" + } } diff --git a/modules/gui/qt/menus/qml/GlobalShortcutsMedialib.qml b/modules/gui/qt/menus/qml/GlobalShortcutsMedialib.qml new file mode 100644 index 0000000000..89ccc2dea6 --- /dev/null +++ b/modules/gui/qt/menus/qml/GlobalShortcutsMedialib.qml @@ -0,0 +1,50 @@ +/***************************************************************************** + * Copyright (C) 2020 VLC authors and VideoLAN + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * ( at your option ) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ +import QtQuick 2.11 +import org.videolan.medialib 0.1 + +Item { + Shortcut{ context: Qt.ApplicationShortcut; sequence:"Ctrl+B"; onActivated: dialogProvider.bookmarksDialog(); } + + MLRecentModel { + id: recentModel + numberOfItemsToShow: 10 + ml: medialib + } + + //build all the shortcuts everytime, it seems that they can't be added/removed dynamically + Repeater { + model: 10 + + Item { + Shortcut { + sequence: "Ctrl+" + ((index + 1) % 10) + onActivated: { + if (index < recentModel.count) + { + + var trackId = recentModel.data(recentModel.index(index, 0), MLRecentModel.RECENT_MEDIA_ID) + if (!!trackId) + medialib.addAndPlay([trackId]) + } + } + context: Qt.ApplicationShortcut + } + } + } +} diff --git a/modules/gui/qt/vlc.qrc b/modules/gui/qt/vlc.qrc index 50d0bfd478..55b26e0b63 100644 --- a/modules/gui/qt/vlc.qrc +++ b/modules/gui/qt/vlc.qrc @@ -283,6 +283,7 @@ <qresource prefix="/menus"> <file alias="Menubar.qml">menus/qml/Menubar.qml</file> <file alias="GlobalShortcuts.qml">menus/qml/GlobalShortcuts.qml</file> + <file alias="GlobalShortcutsMedialib.qml">menus/qml/GlobalShortcutsMedialib.qml</file> </qresource> <qresource prefix="/player"> <file alias="Player.qml">player/qml/Player.qml</file> _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
